jQuery Mobileに関する本を読んでいますが、冒頭で次のように述べています。
...これらのセレクターは、要素を直接選択するために使用できます (例:$("div:contains('foo')"))または、他のセレクター (例: ) をフィルター処理するために使用できます $("div").contains('foo'))。
私はここでポイントを逃しているので、誰かがこれら2つのセレクターの違いを説明してもらえますか?
jQuery Mobileに関する本を読んでいますが、冒頭で次のように述べています。
...これらのセレクターは、要素を直接選択するために使用できます (例:$("div:contains('foo')"))または、他のセレクター (例: ) をフィルター処理するために使用できます $("div").contains('foo'))。
私はここでポイントを逃しているので、誰かがこれら2つのセレクターの違いを説明してもらえますか?
$("div:contains('foo')")):contains()セレクターを使用divすると、テキストに文字列が含まれているものが返されます'foo'。
.contains()私が知っている唯一の方法はです$.contains()。これをjQueryの結果セット(つまり、選択の結果)で使用することはできないため、$("div").contains('foo')実際には機能しません。実際、メソッド自体はセレクター$.contains()とはまったく異なる動作をします。:contains()要素が子孫として別の要素内に含まれているかどうかをテストするという点で。
率直に言って、私はその本が何を言っているのかわかりません。このステートメントは、実際のjQueryコードではない例を使用していることを考えると、私にはあまり意味がありません。
.contains()(機能)とセレクターに違いはないよう:contains()です。
jQueryソースによると、どちらも同じコードを使用しています(「Sizzle」はCSSセレクター機能を管理します)、5350行目:
jQuery.contains = Sizzle.contains;