Maison > Article > interface Web > Questions courantes d'entretien avec jQuery
Cet article partage principalement avec vous des questions courantes d'entretien avec jQuery. Les amis qui souhaitent participer à l'entretien peuvent apprendre d'eux. J'espère que cela pourra aider tout le monde.
La fonction $() est un autre nom pour la fonction jQuery(), qui semble étrange à première vue et rend le code jQuery obscur. Une fois habitué, vous adorerez sa simplicité. La fonction $() est utilisée pour envelopper n'importe quel objet dans un objet jQuery. Vous êtes ensuite autorisé à appeler plusieurs méthodes différentes définies sur l'objet jQuery. Vous pouvez même passer une chaîne de sélection dans la fonction $() et elle renverra un objet jQuery contenant un tableau de tous les éléments DOM correspondants. J'ai vu cette question posée plusieurs fois, et même si elle est si basique, elle est souvent utilisée pour différencier si un développeur connaît ou non jQuery.
Une autre question importante de jQuery est basée sur un sélecteur. jQuery prend en charge différents types de sélecteurs, tels que les sélecteurs d'ID, les sélecteurs de classe et les sélecteurs de balises. Étant donné que la question ne mentionne pas l'ID et la classe, vous pouvez utiliser le sélecteur de balises pour sélectionner tous les éléments p. Code jQuery : $("p"), qui renvoie un objet jQuery contenant les 5 balises p. Pour une réponse plus détaillée, consultez l'article lié ci-dessus.
Si vous avez utilisé CSS, vous connaissez probablement la différence entre les sélecteurs d'ID et les sélecteurs de classe, et il en va de même pour jQuery. Les sélecteurs d'ID utilisent des ID pour sélectionner des éléments, tels que #element1, tandis que les sélecteurs de classe utilisent des classes CSS pour sélectionner des éléments. Utilisez le sélecteur d'ID lorsque vous n'avez besoin de sélectionner qu'un seul élément, et le sélecteur de classe si vous souhaitez sélectionner un groupe d'éléments avec la même classe CSS. Au cours du processus d'entretien, il y a de fortes chances qu'on vous demande d'écrire du code à l'aide de sélecteurs d'ID et de sélecteurs de classe. Le code jQuery suivant utilise le sélecteur d'ID et le sélecteur de classe :
<span style="font-size: 14px;">$('#LoginTextBox') // Returns element wrapped as jQuery object with id='LoginTextBox'<br/>$('.active') // Returns all elements with CSS class active.<br/></span>
Comme vous pouvez le voir, d'un point de vue syntaxique, le sélecteur d'ID et le sélecteur de classe sont l'inverse . La différence est que le premier utilise le caractère "#" et le second le caractère "." Voir le lien de réponse ci-dessus pour une analyse et une discussion plus détaillées.
这是一个事件处理问题。jQuery为按钮点击之类的事件提供了很好的支持。你可以通过以下代码去隐藏一个通过ID或class定位到的图片。你需要知道如何为按钮设置事件并执行hide() 方法,代码如下所示:
<span style="font-size: 14px;">$('#ButtonToClick').click(function(){<br/> $('#ImageToHide').hide();<br/>});<br/></span>
我喜欢这个问题,因为很贴近实际使用,代码也不复杂。
这个问题很重要,并且常常被问到。 ready() 函数用于在文档进入ready状态时执行代码。当DOM 完全加载(例如HTML被完全解析DOM树构建完成时),jQuery允许你执行代码。使用$(document).ready()的最大好处在于它适用于所有浏览器,jQuery帮你解决了跨浏览器的难题。需要进一步了解的用户可以点击 answer链接查看详细讨论。
这个问答是紧接着上一个的。JavaScript window.onload 事件和 jQuery ready 函数之间的主要区别是,前者除了要等待 DOM 被创建还要等到包括大型图片、音频、视频在内的所有外部资源都完全加载。如果加载图片和媒体内容花费了大量时间,用户就会感受到定义在 window.onload 事件上的代码在执行时有明显的延迟。
另一方面,jQuery ready() 函数只需对 DOM 树的等待,而无需对图像或外部资源加载的等待,从而执行起来更快。使用 jQuery $(document).ready() 的另一个优势是你可以在网页里多次使用它,浏览器会按它们在 HTML 页面里出现的顺序执行它们,相反对于 onload 技术而言,只能在单一函数里使用。鉴于这个好处,用 jQuery ready() 函数比用 JavaScript window.onload 事件要更好些。
这是面试里比较棘手的 jQuery 问题之一。这是个基础的问题,但是别期望每个 jQuery 初学者都知道它。你能用下面的 jQuery 选择器获取所有具备 multiple=true 的 14270eeb917b9c0865f33d36f514ce27 标签的选中项:
<span style="font-size: 14px;">$('[name=NameOfSelectedTag] :selected')<br/></span>
这段代码结合使用了属性选择器和 :selected 选择器,结果只返回被选中的选项。你可按需修改它,比如用 id 属性而不是 name 属性来获取 221f08282418e2996498697df914ce4e 标签。
each() 函数就像是 Java 里的一个 Iterator,它允许你遍历一个元素集合。你可以传一个函数给 each() 方法,被调用的 jQuery 对象会在其每个元素上执行传入的函数。有时这个问题会紧接着上面一个问题,举个例子,如何在 alert 框里显示所有选中项。我们可以用上面的选择器代码找出所有选中项,然后我们在 alert 框中用 each() 方法来一个个打印它们,代码如下:
<span style="font-size: 14px;">$('[name=NameOfSelectedTag] :selected').each(function(selected) {<br/> alert($(selected).text());<br/>});<br/></span>
其中 text() 方法返回选项的文本。
你可以用 jQuery 方法 appendTo() 将一个 HTML 元素添加到 DOM 树中。这是 jQuery 提供的众多操控 DOM 的方法中的一个。你可以通过 appendTo() 方法在指定的 DOM 元素末尾添加一个现存的元素或者一个新的 HTML 元素。
这是另一个关于选择器的 jQuery 面试题。就像其他问题那样,只需一行 jQuery 代码就能搞定。你可以使用下面这个 jQuery 代码片段来选择所有嵌套在段落(e388a4556c0f65e1904146cc1a846bee标签)内部的超链接(3499910bf9dac5ae3c52d5ede7383485标签)……
这对于很多 jQuery 初学者来说是一个棘手的问题,其实是个简单的问题。$(this) 返回一个 jQuery 对象,你可以对它调用多个 jQuery 方法,比如用 text() 获取文本,用val() 获取值等等。而 this 代表当前元素,它是 JavaScript 关键词中的一个,表示上下文中的当前 DOM 元素。你不能对它调用 jQuery 方法,直到它被 $() 函数包裹,例如 $(this)。
attr() 方法被用来提取任意一个HTML元素的一个属性的值. 你首先需要利用jQuery选择及选取到所有的链接或者一个特定的链接,然后你可以应用attr()方法来获得他们的href属性的值。下面的代码会找到页面中所有的链接并返回href值:
<span style="font-size: 14px;">$('a').each(function(){<br/> alert($(this).attr('href'));<br/>});<br/></span>
前面这个问题之后额外的一个后续问题是,attr()方法和jQuery中的其它方法一样,能力不止一样. 如果你在调用attr()的同时带上一个值 例如. attr(name, value), 这里name是属性的名称,value是属性的新值。
Bien que détacher ( ) et Remove() sont toutes deux utilisées pour supprimer un élément DOM. La principale différence entre les deux est que detach() garde la trace des éléments détachés passés, afin qu'ils puissent être détachés, tandis que la méthode Remove() conservera une référence. à l'objet qui a été supprimé Vous pouvez également consulter la méthode appendTo() pour ajouter des éléments au DOM.
En utilisant les deux méthodes jQuery addClass() et removeClass(). Changer dynamiquement l'attribut de classe des éléments peut être simple. Par exemple, utilisez la classe ".active" pour marquer leurs états inactifs et activés, etc.
Il s'agit d'une question jQuery légèrement plus avancée. Eh bien, en plus des nombreux avantages du rapport d'erreurs, de l'économie de bande passante du serveur et des vitesses de téléchargement plus rapides, le plus important est que si le navigateur a déjà téléchargé la même version de jQuery à partir du même CDN, il ne la téléchargera plus une seule fois. Ainsi, aujourd'hui, de nombreux sites Web publics utilisent jQuery pour l'interaction et l'animation des utilisateurs. Si le navigateur dispose déjà d'une bibliothèque jQuery téléchargée, le site Web peut avoir une très bonne opportunité d'affichage.
17. Quelle est la différence entre les méthodes jQuery.get() et jQuery.ajax() ?
la méthode ajax() est plus Puissant et plus configurable, vous permettant de spécifier combien de temps attendre et comment gérer les erreurs. La méthode get() est une méthode spécialisée qui récupère simplement quelques données.
18. Qu'est-ce que le chaînage de méthodes dans jQuery ? Quels sont les avantages de l’utilisation du chaînage de méthodes ?
Le chaînage de méthodes consiste à appeler une autre méthode sur le résultat renvoyé par une méthode, ce qui rend le code concis et clair. En même temps, comme un seul tour de recherche DOM est effectué, les performances sont meilleures.
19. Que se passe-t-il si vous renvoyez false dans un gestionnaire d'événements jQuery ?
Ceci est généralement utilisé pour empêcher les événements de bouillonner.
20. Quelle méthode est la plus efficace : document.getElementbyId("myId") ou $("#myId") ?
Le premier, car il appelle directement le moteur JavaScript.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!