2010-11-19 19 views
1

オブジェクトを指定して指定されたセレクタの一致:私はこのJavaScriptフレームワークのためのjQueryを使用してきた
How can I tell whether an element matches a selector?チェック可能であれば重複

私が取り組んできたと私は場合は思っていたが指定されたセレクタが指定されたjQueryオブジェクトと一致するかどうかをチェックする方法です。次のようなものがあります。

var divObj = $(document.createElement('div')); 
var result = divObj.hasSelector('div'); 

セレクタがオブジェクトに一致すると、結果は "true"またはオブジェクトを返します。

答えて

4

オブジェクトが使用してdiv要素である場合は、伝えることができます:

$('selector').is('div'); 

または直接比較のために:

$('selector1')[0].tagName == $('selector2')[0].tagName 
+0

これは、各セットの* first *要素(存在する場合)を比較します。セット内のいずれかの要素がセレクタに一致すると、 '.is()'が一致します。 –

+0

セレクタを使用してコードを単純化しました。私は、厳密に1つの要素が選択されると仮定していました。 –

+0

@ T.J。 - 待って、何? '.get()'はいつ廃止されましたか? –

2

.is()機能があります正確にこのため:

var divObj = $(document.createElement('div')); 
var result = divObj.is('div'); 

You can test it out here。これは単純なケースであり、他の状況に注意してください。.is()trueを返します。を実行しているjQueryオブジェクト内の要素のうちどれかがセレクタと一致する場合。

+1

*最初のものを確認する*一致する要素の* any *が一致するかどうかを調べる)、常に$(divObj [0])。is( 'div') 'を実行できます。 –

+0

@TJC:その特別なケースでは、* jQueryには問題がなく、 'divObj [0] .tagName ==" DIV "' :-)と一緒に行きます –