ホームページ > 記事 > ウェブフロントエンド > jQuery の面接でよくある 20 の質問と回答 (共有)
この記事では、jQuery の面接でよくある 20 の質問と回答を紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。
JavaScript はクライアント側スクリプトの標準言語であり、jQuery を使用すると JavaScript の記述がさらに簡単になります。 jQuery コードを数行記述するだけで、さらに多くのことを実現できます。jQuery コードは最も長く使用されている JavaScript ライブラリの 1 つであり、jQuery を使用せずにネイティブ JavaScript を使用する新しいプロジェクトはほとんどありません。 Java Web 開発者にとって、これが意味するのは、Java Web 開発の面接では、jQuery の面接の質問が数多く見つかるということです。
以前は、そのほとんどが HTTP、HTML、CSS、JavaScript でしたが、最近では、 JavaScript の基本に加えて、jQuery に精通しているかどうかも知りたいと考えています。これらの 16 の jQuery の質問は Web 開発者を対象としており、電話またはビデオ面接の前に重要な概念をブラッシュアップするのに最適です。 jQuery を初めて使用する場合でも、基本をより深く理解し、さらに多くのことを発見するきっかけとなるでしょう。
関連する推奨事項: 「jq チュートリアル #」 (ビデオ)
$() 関数は jQuery() 関数の別名ですが、これは一見奇妙に見え、jQuery コードをわかりにくくします。慣れてしまえば、そのシンプルさが気に入るはずです。 $() 関数は、任意のオブジェクトを jQuery オブジェクトにラップするために使用され、jQuery オブジェクトで定義された複数の異なるメソッドを呼び出すことができます。セレクター文字列を $() 関数に渡すこともでき、一致するすべての DOM 要素の配列を含む jQuery オブジェクトが返されます。この質問は何度か見たことがありますが、非常に基本的なものであるにもかかわらず、開発者が jQuery を知っているかどうかを区別するためによく使用されます。
jQuery のもう 1 つの重要な質問は、セレクター ベースです。 jQuery は、ID セレクター、クラス セレクター、タグ セレクターなど、さまざまなタイプのセレクターをサポートしています。質問ではIDとクラスについて言及していないため、タグセレクターを使用してすべての p 要素を選択できます。 jQuery コード: $("p")、5 つの p タグすべてを含む jQuery オブジェクトを返します。より詳細な答えについては、上記のリンク先の記事を参照してください。
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 つの違いは、前者では文字「#」と文字が使用されることです。後者では文字「.」が使用されます。より詳細な分析と議論については、上記の回答リンクを参照してください。
これはイベント処理の問題です。 jQuery は、ボタンのクリックなどのイベントを強力にサポートします。次のコードを使用すると、ID またはクラスによって特定された画像を非表示にすることができます。ボタンにイベントを設定し、hide() メソッドを実行する方法を知る必要があります。コードは次のとおりです:
$('#ButtonToClick').click(function(){ $('#ImageToHide').hide(); });
この質問は重要であり、よく聞かれます。 ready() 関数は、ドキュメントが準備完了状態になったときにコードを実行するために使用されます。 jQuery を使用すると、DOM が完全にロードされたとき (つまり、HTML が完全に解析され、DOM ツリーが構築されたとき)、コードを実行できます。 $(document).ready() を使用する最大の利点は、すべてのブラウザで動作し、jQuery がブラウザ間問題の解決に役立つことです。さらに詳しく知りたいユーザーは、回答リンクをクリックして詳細なディスカッションを表示できます。
この質問と回答は、前の質問と回答に続きます。 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 标签的选中项:
$('[name=NameOfSelectedTag] :selected')
这段代码结合使用了属性选择器和 :selected 选择器,结果只返回被选中的选项。你可按需修改它,比如用 id 属性而不是 name 属性来获取 221f08282418e2996498697df914ce4e 标签。
each() 函数就像是 Java 里的一个 Iterator,它允许你遍历一个元素集合。你可以传一个函数给 each() 方法,被调用的 jQuery 对象会在其每个元素上执行传入的函数。有时这个问题会紧接着上面一个问题,举个例子,如何在 alert 框里显示所有选中项。我们可以用上面的选择器代码找出所有选中项,然后我们在 alert 框中用 each() 方法来一个个打印它们,代码如下:
$('[name=NameOfSelectedTag] :selected').each(function(selected) { alert($(selected).text()); });
其中 text() 方法返回选项的文本。
你可以用 jQuery 方法 appendTo() 将一个 HTML 元素添加到 DOM 树中。这是 jQuery 提供的众多操控 DOM 的方法中的一个。你可以通过 appendTo() 方法在指定的 DOM 元素末尾添加一个现存的元素或者一个新的 HTML 元素。
你可以使用下面这个 jQuery 代码片段来选择所有嵌套在段落(e388a4556c0f65e1904146cc1a846bee标签)内部的超链接(3499910bf9dac5ae3c52d5ede7383485标签)
$( 'p a' );
这对于很多 jQuery 初学者来说是一个棘手的问题,其实是个简单的问题。$(this) 返回一个 jQuery 对象,你可以对它调用多个 jQuery 方法,比如用 text() 获取文本,用val() 获取值等等。而 this 代表当前元素,它是 JavaScript 关键词中的一个,表示上下文中的当前 DOM 元素。你不能对它调用 jQuery 方法,直到它被 $() 函数包裹,例如 $(this)。
attr() 方法被用来提取任意一个HTML元素的一个属性的值. 你首先需要利用jQuery选择及选取到所有的链接或者一个特定的链接,然后你可以应用attr()方法来获得他们的href属性的值。下面的代码会找到页面中所有的链接并返回href值:
$('a').each(function(){ alert($(this).attr('href')); });
前面这个问题之后额外的一个后续问题是,attr()方法和jQuery中的其它方法一样,能力不止一样. 如果你在调用attr()的同时带上一个值 。
对象.attr("name","value");name是属性的名称,value是这个属性的新值
对象.prop("name","value");
设置多个属性值:对象.attr("name":"value","name":"value")属性:属性值,属性:属性值
对于html元素本身就带有的固定属性(本身就带有的属性),在处理时,使用prop方法 可以操作布尔类型的属性
对于html元素我们自己定义的dom属性,在处理时,使用attr方法 不可以操作布尔类型的属性
; DOM属性の値は「ID、HREF、クラス、およびアクション」です。明らかに、最初の3つは固有の属性であり、後者のアクション属性は
#&ltの独自の定義です; a & GT; 要素自体には属性がありません。これはカスタム dom 属性です。これらのプロパティを処理する場合は、attr メソッドの使用を推奨しますが、prop メソッドを使用してカスタム プロパティの値を取得および設定すると、未定義の値が返されます。
checkbox、radio、select などの要素の場合、checked 属性は「checked」と「selected」に対応します。これらは固有の属性でもあるため、正しい答えを得るには prop メソッドを使用して操作する必要があります
14. jQuery の detach() メソッドと Remove() メソッドの違いは何ですか? (回答)
15. jQuery を使用して要素に CSS クラスを追加したり、要素から CSS クラスを削除したりするにはどうすればよいですか? (回答)
16. CDN を使用して jQuery ライブラリをロードする主な利点は何ですか? (回答)
これは、少し高度な jQuery の質問です。エラー報告、サーバー帯域幅の節約、ダウンロード速度の高速化などの多くの利点に加えて、最も重要なことは、ブラウザが同じ CDN から同じ jQuery バージョンを既にダウンロードしている場合、それを再度ダウンロードしないことです。現在、多くの公開 Web サイトではユーザー インタラクションやアニメーションに jQuery が使用されており、ブラウザに jQuery ライブラリがダウンロードされている場合、Web サイトが表示される可能性は非常に高くなります。
ajax() メソッドはより強力で構成可能であり、実行する期間を指定できます。待機、およびエラーの処理方法。 get() メソッドは、データを取得するだけの特殊なメソッドです。
メソッドチェーンとは、1 つのメソッドから返された結果に対して別のメソッドを呼び出すことで、コードが簡潔かつ明確になり、同時に DOM 検索が 1 回だけ実行されるため、パフォーマンスが向上します。
19. jQueryイベントハンドラーでfalseを返すとどうなるでしょうか?
20. document.getElementbyId("myId") と $("#myId") のどちらの方が効率的ですか?
をご覧ください。 !
以上がjQuery の面接でよくある 20 の質問と回答 (共有)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。