> 웹 프론트엔드 > JS 튜토리얼 > 일반적인 jQuery 면접 질문

일반적인 jQuery 면접 질문

零到壹度
풀어 주다: 2018-03-23 10:53:06
원래의
3272명이 탐색했습니다.

이 글은 주로 jQuery 면접 질문을 공유합니다. 면접에 참여하고 싶은 친구들이 이 글을 통해 모두에게 도움이 되기를 바랍니다.

1. jQuery 라이브러리의 $()는 무엇인가요? (아래 답변)

$() 함수는 jQuery() 함수의 또 다른 이름으로, 언뜻 보기에는 이상해 보이고 jQuery 코드를 모호하게 만듭니다. 익숙해지면 그 단순함을 좋아하게 될 것입니다. $() 함수는 모든 객체를 jQuery 객체로 래핑하는 데 사용됩니다. 그런 다음 jQuery 객체에 정의된 여러 가지 다른 메서드를 호출할 수 있습니다. $() 함수에 선택기 문자열을 전달할 수도 있으며, 이는 일치하는 모든 DOM 요소의 배열을 포함하는 jQuery 객체를 반환합니다. 이 질문을 몇 번 본 적이 있는데, 아주 기본적임에도 불구하고 개발자가 jQuery를 아는지 여부를 구별하는 데 자주 사용됩니다.

2. 웹페이지에 5개의

요소가 있는데 jQuery를 사용하여 이를 선택하는 방법은 무엇인가요? (답변)

또 다른 중요한 jQuery 질문은 선택기 기반입니다. jQuery는 ID 선택기, 클래스 선택기, 태그 선택기와 같은 다양한 유형의 선택기를 지원합니다. 질문에 ID와 클래스가 언급되어 있지 않으므로 태그 선택기를 사용하여 모든 p 요소를 선택할 수 있습니다. jQuery 코드: $("p"), 이는 5개의 p 태그가 모두 포함된 jQuery 객체를 반환합니다. 자세한 답변은 위에 링크된 글을 참조하세요.

3. jQuery에서 ID 선택기와 클래스 선택기의 차이점은 무엇인가요? (답변)

CSS를 사용해보신 분이라면 아마도 ID 선택자와 클래스 선택자의 차이점을 아실 것입니다. jQuery도 마찬가지입니다. ID 선택자는 ID를 사용하여 #element1과 같은 요소를 선택하고, 클래스 선택자는 CSS 클래스를 사용하여 요소를 선택합니다. 단일 요소만 선택해야 하는 경우에는 ID 선택기를 사용하고, 동일한 CSS 클래스가 있는 요소 그룹을 선택하려면 클래스 선택기를 사용하세요. 인터뷰 과정에서 ID 선택기와 클래스 선택기를 사용하여 코드를 작성하라는 요청을 받을 가능성이 높습니다. 다음 jQuery 코드는 ID 선택기와 클래스 선택기를 사용합니다.

<span style="font-size: 14px;">$(&#39;#LoginTextBox&#39;)  // Returns element wrapped as jQuery object with id=&#39;LoginTextBox&#39;<br/>$(&#39;.active&#39;) // Returns all elements with CSS class active.<br/></span>
로그인 후 복사

보시다시피 구문 관점에서 볼 때 ID 선택기와 클래스 선택기의 또 다른 차이점은 전자가 "#" 문자를 사용한다는 것입니다. 후자는 "." 문자를 사용합니다. 더 자세한 분석과 토론을 보려면 위의 답변 링크를 참조하세요.

4. 如何在点击一个按钮时使用 jQuery 隐藏一个图片?

这是一个事件处理问题。jQuery为按钮点击之类的事件提供了很好的支持。你可以通过以下代码去隐藏一个通过ID或class定位到的图片。你需要知道如何为按钮设置事件并执行hide() 方法,代码如下所示:

<span style="font-size: 14px;">$(&#39;#ButtonToClick&#39;).click(function(){<br/>    $(&#39;#ImageToHide&#39;).hide();<br/>});<br/></span>
로그인 후 복사

我喜欢这个问题,因为很贴近实际使用,代码也不复杂。

5. $(document).ready() 是个什么函数?为什么要用它?(答案)

这个问题很重要,并且常常被问到。 ready() 函数用于在文档进入ready状态时执行代码。当DOM 完全加载(例如HTML被完全解析DOM树构建完成时),jQuery允许你执行代码。使用$(document).ready()的最大好处在于它适用于所有浏览器,jQuery帮你解决了跨浏览器的难题。需要进一步了解的用户可以点击 answer链接查看详细讨论。

6. JavaScript window.onload 事件和 jQuery ready 函数有何不同?(答案)

这个问答是紧接着上一个的。JavaScript window.onload 事件和 jQuery ready 函数之间的主要区别是,前者除了要等待 DOM 被创建还要等到包括大型图片、音频、视频在内的所有外部资源都完全加载。如果加载图片和媒体内容花费了大量时间,用户就会感受到定义在 window.onload 事件上的代码在执行时有明显的延迟。

另一方面,jQuery ready() 函数只需对 DOM 树的等待,而无需对图像或外部资源加载的等待,从而执行起来更快。使用 jQuery $(document).ready() 的另一个优势是你可以在网页里多次使用它,浏览器会按它们在 HTML 页面里出现的顺序执行它们,相反对于 onload 技术而言,只能在单一函数里使用。鉴于这个好处,用 jQuery ready() 函数比用 JavaScript window.onload 事件要更好些。

7. 如何找到所有 HTML select 标签的选中项?(答案如下)

这是面试里比较棘手的 jQuery 问题之一。这是个基础的问题,但是别期望每个 jQuery 初学者都知道它。你能用下面的 jQuery 选择器获取所有具备 multiple=true 的 标签。

8. jQuery 里的 each() 是什么函数?你是如何使用它的?(答案如下)

each() 函数就像是 Java 里的一个 Iterator,它允许你遍历一个元素集合。你可以传一个函数给 each() 方法,被调用的 jQuery 对象会在其每个元素上执行传入的函数。有时这个问题会紧接着上面一个问题,举个例子,如何在 alert 框里显示所有选中项。我们可以用上面的选择器代码找出所有选中项,然后我们在 alert 框中用 each() 方法来一个个打印它们,代码如下:

<span style="font-size: 14px;">$(&#39;[name=NameOfSelectedTag] :selected&#39;).each(function(selected) {<br/>    alert($(selected).text());<br/>});<br/></span>
로그인 후 복사

其中 text() 方法返回选项的文本。

9. 你是如何将一个 HTML 元素添加到 DOM 树中的?(答案如下)

你可以用 jQuery 方法 appendTo() 将一个 HTML 元素添加到 DOM 树中。这是 jQuery 提供的众多操控 DOM 的方法中的一个。你可以通过 appendTo() 方法在指定的 DOM 元素末尾添加一个现存的元素或者一个新的 HTML 元素。

10. 你能用 jQuery 代码选择所有在段落内部的超链接吗?(答案略)

这是另一个关于选择器的 jQuery 面试题。就像其他问题那样,只需一行 jQuery 代码就能搞定。你可以使用下面这个 jQuery 代码片段来选择所有嵌套在段落(

标签)内部的超链接(标签)……

11. $(this) 和 this 关键字在 jQuery 中有何不同?(答案如下)

这对于很多 jQuery 初学者来说是一个棘手的问题,其实是个简单的问题。$(this) 返回一个 jQuery 对象,你可以对它调用多个 jQuery 方法,比如用 text() 获取文本,用val() 获取值等等。而 this 代表当前元素,它是 JavaScript 关键词中的一个,表示上下文中的当前 DOM 元素。你不能对它调用 jQuery 方法,直到它被 $() 函数包裹,例如 $(this)。

12. 你如何使用jQuery来提取一个HTML 标记的属性 例如. 链接的href? (答案)

attr() 方法被用来提取任意一个HTML元素的一个属性的值. 你首先需要利用jQuery选择及选取到所有的链接或者一个特定的链接,然后你可以应用attr()方法来获得他们的href属性的值。下面的代码会找到页面中所有的链接并返回href值:

13. 你如何使用jQuery设置一个属性值? (答案)

前面这个问题之后额外的一个后续问题是,attr()方法和jQuery中的其它方法一样,能力不止一样. 如果你在调用attr()的同时带上一个值 例如. attr(name, value), 这里name是属性的名称,value是属性的新值。

14. jQuery에서 detach()와 Remove() 메소드의 차이점은 무엇입니까? (답변)

DOM 요소를 제거하는 데는 detach()와 delete() 메소드가 모두 사용되지만 주요 차이점은 detach()는 도킹 해제할 수 있도록 과거에 분리된 요소를 추적하는 반면, Remove() 메서드는 제거된 과거 개체에 대한 참조를 유지한다는 것입니다. 또한 요소를 추가하는appendTo() 메서드를 사용할 수도 있습니다. DOM.

15. jQuery를 사용하여 요소에서 CSS 클래스를 추가하고 제거하는 방법은 무엇입니까? (답변)

addClass() 및 RemoveClass()를 사용하면 이 두 가지 jQuery 메서드가 있습니다. 요소의 클래스 속성을 동적으로 변경하는 것은 ".active" 클래스를 사용하여 비활성 및 활성 상태 등을 표시하는 것만큼 간단할 수 있습니다.

16 CDN을 사용하여 jQuery 라이브러리를 로드할 때의 주요 이점은 무엇입니까? (답변)

좀 더 고급 jQuery 질문입니다. 오류 보고, 서버 대역폭 절약 및 더 빠른 다운로드 속도의 많은 이점 외에도 가장 중요한 것은 브라우저가 이미 동일한 CDN에서 동일한 jQuery 버전을 다운로드한 경우 다시 다운로드하지 않는다는 것입니다. 따라서 오늘날 많은 공개 웹사이트에서는 사용자 상호 작용과 애니메이션을 위해 jQuery를 사용합니다. 브라우저에 이미 다운로드된 jQuery 라이브러리가 있으면 웹사이트는 매우 좋은 표시 기회를 가질 수 있습니다.

17. jQuery.get()과 jQuery.ajax() 메서드의 차이점은 무엇입니까?

ajax() 메서드는 대기 시간과 방법을 지정할 수 있어 더 강력하고 구성 가능합니다. 오류를 처리합니다. get() 메서드는 일부 데이터를 가져오는 특수 메서드입니다.

18. jQuery에서 메소드 체이닝이란 무엇인가요? 메소드 체이닝을 사용하면 어떤 이점이 있나요?

메서드 체이닝은 한 메소드에서 반환된 결과에 대해 다른 메소드를 호출하는 것인데, 이는 코드를 간결하고 명확하게 만드는 동시에 DOM 검색을 한 번만 수행하므로 성능이 더 좋습니다.

19. jQuery 이벤트 핸들러에서 false를 반환하면 어떻게 되나요?

이는 일반적으로 이벤트가 발생하는 것을 방지하는 데 사용됩니다.

20. document.getElementbyId("myId") 또는 $("#myId") 중 어떤 방법이 더 효율적인가요?

첫 번째는 JavaScript 엔진을 직접 호출하기 때문입니다.

위 내용은 일반적인 jQuery 면접 질문의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿