Heim > Artikel > Web-Frontend > Häufige Fragen zu jQuery-Interviews
Dieser Artikel teilt Ihnen hauptsächlich häufig gestellte Fragen zu jQuery-Interviews mit. Ich hoffe, dass er allen helfen kann.
Die $()-Funktion ist ein anderer Name für die jQuery()-Funktion, die auf den ersten Blick seltsam erscheint und den jQuery-Code unverständlich macht. Sobald Sie sich daran gewöhnt haben, werden Sie seine Einfachheit lieben. Die Funktion $() wird verwendet, um jedes Objekt in ein jQuery-Objekt einzubinden. Anschließend können Sie mehrere verschiedene Methoden aufrufen, die für das jQuery-Objekt definiert sind. Sie können sogar einen Selektor-String an die Funktion $() übergeben und sie gibt ein jQuery-Objekt zurück, das ein Array aller passenden DOM-Elemente enthält. Ich habe gesehen, dass diese Frage mehrmals gestellt wurde, und obwohl sie so einfach ist, wird sie oft verwendet, um zu unterscheiden, ob ein Entwickler jQuery kennt oder nicht.
Eine weitere wichtige jQuery-Frage ist selektorbasiert. jQuery unterstützt verschiedene Arten von Selektoren, z. B. ID-Selektoren, Klassenselektoren und Tag-Selektoren. Da in der Frage ID und Klasse nicht erwähnt werden, können Sie mit dem Tag-Selektor alle p-Elemente auswählen. jQuery-Code: $("p"), der ein jQuery-Objekt zurückgibt, das alle 5 p-Tags enthält. Eine ausführlichere Antwort finden Sie im oben verlinkten Artikel.
Wenn Sie CSS verwendet haben, kennen Sie wahrscheinlich den Unterschied zwischen ID-Selektoren und Klassenselektoren, und das Gleiche gilt für jQuery. ID-Selektoren verwenden IDs zum Auswählen von Elementen, z. B. #element1, während Klassenselektoren CSS-Klassen zum Auswählen von Elementen verwenden. Verwenden Sie den ID-Selektor, wenn Sie nur ein Element auswählen müssen, und den Klassenselektor, wenn Sie eine Gruppe von Elementen mit derselben CSS-Klasse auswählen möchten. Während des Interviewprozesses besteht eine hohe Wahrscheinlichkeit, dass Sie aufgefordert werden, Code mit ID-Selektoren und Klassenselektoren zu schreiben. Der folgende jQuery-Code verwendet den ID-Selektor und den Klassenselektor:
<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>
Wie Sie sehen können, sind der ID-Selektor und der Klassenselektor aus syntaktischer Sicht umgekehrt Der Unterschied besteht darin, dass ersteres das Zeichen „#“ und letzteres das Zeichen „.“ verwendet. Eine ausführlichere Analyse und Diskussion finden Sie unter dem Antwortlink oben.
这是一个事件处理问题。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是属性的新值。
Obwohl detach Die Methoden () und „remove()“ werden beide zum Entfernen eines DOM-Elements verwendet. Der Hauptunterschied zwischen den beiden besteht darin, dass detach() vergangene getrennte Elemente verfolgt, sodass sie wieder gelöst werden können, während die Methode „remove()“ eine Referenz behält zum entfernten Objekt. Sie können sich auch die Methode appendTo() zum Hinzufügen von Elementen zum DOM ansehen.
Durch die Verwendung der beiden jQuery-Methoden addClass() und removeClass(). Das dynamische Ändern des Klassenattributs von Elementen kann beispielsweise einfach sein. Verwenden Sie die Klasse „.active“, um deren inaktiven und aktivierten Status usw. zu markieren.
Dies ist eine etwas fortgeschrittenere jQuery-Frage. Nun, neben den vielen Vorteilen der Fehlerberichterstattung, der Einsparung von Serverbandbreite und schnelleren Download-Geschwindigkeiten ist das Wichtigste, dass der Browser, wenn er bereits dieselbe jQuery-Version vom selben CDN heruntergeladen hat, diese nicht noch einmal herunterlädt . Heutzutage verwenden viele öffentliche Websites jQuery für Benutzerinteraktion und Animation. Wenn der Browser bereits über eine heruntergeladene jQuery-Bibliothek verfügt, kann die Website eine sehr gute Anzeigemöglichkeit haben.
17. Was ist der Unterschied zwischen den Methoden jQuery.get() und jQuery.ajax()?
ajax()-Methode ist mehr Leistungsstark und besser konfigurierbar, sodass Sie festlegen können, wie lange gewartet werden soll und wie mit Fehlern umgegangen werden soll. Die get()-Methode ist eine spezielle Methode, die nur einige Daten abruft.
18. Was ist Methodenverkettung in jQuery? Welche Vorteile bietet die Methodenverkettung?
Methodenverkettung besteht darin, eine andere Methode für das von einer Methode zurückgegebene Ergebnis aufzurufen, wodurch der Code präzise und klar wird. Gleichzeitig ist die Leistung besser, da nur eine Runde der DOM-Suche durchgeführt wird.
19. Was passiert, wenn Sie in einem jQuery-Ereignishandler false zurückgeben?
Dies wird normalerweise verwendet, um die Entstehung von Ereignissen zu verhindern.
20. Welche Methode ist effizienter: document.getElementbyId("myId") oder $("#myId")?
Der erste, weil er direkt die JavaScript-Engine aufruft.
Das obige ist der detaillierte Inhalt vonHäufige Fragen zu jQuery-Interviews. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!