ホームページ  >  記事  >  ウェブフロントエンド  >  基本をより深く理解するために、jQuery の面接でよくある質問を確認してください。

基本をより深く理解するために、jQuery の面接でよくある質問を確認してください。

青灯夜游
青灯夜游転載
2022-02-28 10:32:272702ブラウズ

この記事では、基礎知識をより深く理解していただくために、jQuery に基づいた面接でよくある質問をまとめて紹介します (回答分析付き)。

基本をより深く理解するために、jQuery の面接でよくある質問を確認してください。

関連する推奨事項: 2022 年の主要なフロントエンド面接の質問の概要 (コレクション)

jQuery の面接の質問と回答

JavaScript はクライアント側スクリプトの標準言語であり、jQuery を使用すると JavaScript を簡単に作成できます。 jQuery コードを数行記述するだけで、さらに多くのことを実現できます。jQuery コードは最も長く使用されている JavaScript ライブラリの 1 つであり、jQuery を使用せずにネイティブ JavaScript を使用する新しいプロジェクトはほとんどありません。 Java Web 開発者にとって、これが意味するのは、Java Web 開発の面接では、jQuery の面接の質問が数多く見つかるということです。

以前は、そのほとんどが HTTP、HTML、CSS、JavaScript でしたが、最近では、 JavaScript の基本に加えて、jQuery に精通しているかどうかも知りたいと考えています。これらの 16 の jQuery の質問は Web 開発者を対象としており、電話またはビデオ面接の前に重要な概念をブラッシュアップするのに最適です。 jQuery を初めて使用する場合でも、基本をより深く理解し、さらに多くのことを発見するきっかけとなるでしょう。

1. jQuery ライブラリの $() とは何ですか? (答えは以下にあります)

$() 関数は jQuery() 関数の別名ですが、これは一見すると奇妙に見え、jQuery コードをわかりにくくします。慣れてしまえば、そのシンプルさが気に入るはずです。 $() 関数は、任意のオブジェクトを jQuery オブジェクトにラップするために使用され、jQuery オブジェクトで定義された複数の異なるメソッドを呼び出すことができます。セレクター文字列を $() 関数に渡すこともでき、一致するすべての DOM 要素の配列を含む jQuery オブジェクトが返されます。この質問は何度か見たことがありますが、非常に基本的なものであるにもかかわらず、開発者が jQuery を知っているかどうかを区別するためによく使用されます。 [推奨学習: jQuery ビデオ チュートリアル ]

2. Web ページには 5 つの e388a4556c0f65e1904146cc1a846bee 要素があります。jQuery を使用してそれらを選択するにはどうすればよいですか? (回答)

jQuery のもう 1 つの重要な質問は、セレクター ベースです。 jQuery は、ID セレクター、クラス セレクター、タグ セレクターなど、さまざまなタイプのセレクターをサポートしています。質問ではIDとクラスについて言及していないため、タグセレクターを使用してすべての p 要素を選択できます。 jQuery コード: $("p")、5 つの p タグすべてを含む jQuery オブジェクトを返します。より詳細な答えについては、上記のリンク先の記事を参照してください。

3. jQuery の ID セレクターとクラス セレクターの違いは何ですか? (回答)

CSS を使用したことがある場合は、ID セレクターとクラス セレクターの違いをご存知かと思いますが、jQuery についても同様です。 ID セレクターは ID を使用して要素 (#element1 など) を選択しますが、クラス セレクターは CSS クラスを使用して要素を選択します。 1 つの要素のみを選択する必要がある場合は ID セレクターを使用し、同じ CSS クラスを持つ要素のグループを選択する場合はクラス セレクターを使用します。面接プロセス中に、ID セレクターとクラス セレクターを使用してコードを書くように求められる可能性が高くなります。次の jQuery コードでは、ID セレクターとクラス セレクターを使用しています。

$('#LoginTextBox')  // Returns element wrapped as jQuery object with id='LoginTextBox'
$('.active') // Returns all elements with CSS class active.

ご覧のとおり、構文の観点から見ると、ID セレクターとクラス セレクターのもう 1 つの違いは、前者では文字 "#" と文字が使用されることです。後者では文字「.」が使用されます。より詳細な分析と議論については、上記の回答リンクを参照してください。

4. jQuery を使用して、ボタンがクリックされたときに画像を非表示にする方法は?

これはイベント処理の問題です。 jQuery は、ボタンのクリックなどのイベントを強力にサポートします。次のコードを使用すると、ID またはクラスによって特定された画像を非表示にすることができます。ボタンのイベントを設定し、hide() メソッドを実行する方法を知る必要があります。コードは次のとおりです:

$('#ButtonToClick').click(function(){
    $('#ImageToHide').hide();
});

5. $(document).ready 関数とは()?なぜそれを使うのでしょうか? (回答)

この質問は重要であり、よく聞かれます。 ready() 関数は、ドキュメントが準備完了状態になったときにコードを実行するために使用されます。 jQuery を使用すると、DOM が完全にロードされたとき (つまり、HTML が完全に解析され、DOM ツリーが構築されたとき)、コードを実行できます。 $(document).ready() を使用する最大の利点は、すべてのブラウザで動作し、jQuery がブラウザ間問題の解決に役立つことです。さらに詳しく知りたいユーザーは、回答リンクをクリックして詳細なディスカッションを表示できます。

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 的 14270eeb917b9c0865f33d36f514ce27 标签的选中项:

$('[name=NameOfSelectedTag] :selected')

  这段代码结合使用了属性选择器和 :selected 选择器,结果只返回被选中的选项。你可按需修改它,比如用 id 属性而不是 name 属性来获取 221f08282418e2996498697df914ce4e 标签。

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

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

$('[name=NameOfSelectedTag] :selected').each(function(selected) {
    alert($(selected).text());
});

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

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

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

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

  你可以使用下面这个 jQuery 代码片段来选择所有嵌套在段落(e388a4556c0f65e1904146cc1a846bee标签)内部的超链接(3499910bf9dac5ae3c52d5ede7383485标签)

 $( 'p a' );

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值:

$('a').each(function(){
   alert($(this).attr('href'));
});

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

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

  • 对象.attr("name","value"); name是属性的名称,value是这个属性的新值

  • 对象.prop("name","value");

複数の属性値を設定します: Object.attr("name":"value","name":"value")attribute:Attribute value,AttributeAttribute value

jqueryにおけるattrとpropの違い

属性に)を付けて処理する場合は、propメソッドを使って操作しますブール型属性

## & lt; a href = "#" ID = "link1" class = "btn" action = "delete" & gt; delete & lt;/a & gt ;

## この例 & lt; a & gt; 要素の dom 属性値には、「id、href、class、および action」が含まれます。明らかに、最初の 3 つは固有の属性であり、後者の action 属性は自分たちで定義

# 属性はありません。これはカスタム dom 属性です。これらのプロパティを処理する場合は、attr メソッドの使用を推奨しますが、prop メソッドを使用してカスタム プロパティの値を取得および設定すると、未定義の値が返されます。

checkbox、radio、select などの要素の場合、checked 属性は「checked」と「selected」に対応します。これらは固有の属性でもあるため、正しい答えを得るには prop メソッドを使用して操作する必要があります

##14. jQuery の detach() メソッドとremove() メソッドの違いは何ですか? (回答)

detach() メソッドとremove() メソッドは両方とも DOM 要素を削除するために使用されますが、この 2 つの主な違いは、detach() は過去のデタッチされた要素を追跡するため、ドッキングされていません。remove() メソッドは、過去に削除されたオブジェクトへの参照を保持します。DOM に要素を追加するために使用される appendTo() メソッドも確認できます。

15. jQuery を使用して要素に CSS クラスを追加および削除するにはどうすればよいですか? (回答)

2 つの jQuery メソッド addClass() と RemoveClass() を使用します。要素のクラス属性を動的に変更するのは簡単です。たとえば、クラス ".active" を使用して、要素の非アクティブな状態とアクティブ化された状態などをマークします。 # 要素の追加 .remove()

スタイル クラスの削除

16. CDN を使用して jQuery ライブラリをロードする主な利点は何ですか? (回答)

これは、少し高度な jQuery の質問です。エラー報告、サーバー帯域幅の節約、ダウンロード速度の高速化などの多くの利点に加えて、最も重要なことは、ブラウザが同じ CDN から同じ jQuery バージョンを既にダウンロードしている場合、それを再度ダウンロードしないことです。現在、多くの公開 Web サイトではユーザー インタラクションやアニメーションに jQuery が使用されており、ブラウザに jQuery ライブラリがダウンロードされている場合、Web サイトが表示される可能性は非常に高くなります。

17. jQuery.get() メソッドと jQuery.ajax() メソッドの違いは何ですか?

ajax() メソッドは次のとおりです。さらに強力で構成可能性が高く、待機時間とエラーの処理方法を指定できます。 get() メソッドは、データを取得するだけの特殊なメソッドです。

18. jQuery のメソッド チェーンとは何ですか?メソッドチェーンを使用する利点は何ですか?

メソッドチェーンとは、1 つのメソッドから返された結果に対して別のメソッドを呼び出すことで、コードを簡潔かつ明確にし、同時に DOM 検索を 1 回だけ実行するため、パフォーマンスが良くなります。

19. jQuery イベント ハンドラーで false を返すとどうなりますか?

これは通常、イベントのバブルアップを防ぐために使用されます。

20. document.getElementbyId("myId") と $("#myId") のどちらの方が効率的ですか?

1 つ目は、JavaScript エンジンを直接呼び出すためです。

(学習ビデオ共有: Web フロントエンド入門チュートリアル )

以上が基本をより深く理解するために、jQuery の面接でよくある質問を確認してください。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。