2015-11-30 12 views
20

複数の無関係な条件を使用してquerySelectorAllで検索することはできますか?はいの場合はどうですか?それらがAND基準かOR基準かどうかを指定する方法は?例えば複数の条件を指定したquerySelectorAll

すべてフォーム S、P sおよび伝説単一querySelectorAllコールと Sを見つける方法は?可能?

+0

「* AND or OR criteria *」の意味がわかりません。あなたはその事例を挙げることができますか? – Bergi

+4

[このドキュメントは最初の例でこれを扱っています](https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll)。 – Andy

答えて

47

複数の無関係な条件を使用してquerySelectorAllで検索することはできますか?

はい

querySelectorAllがフルCSSセレクタを受け入れ、CSSを使用して、複数の無関係なセレクタを指定することができます selector groupsの概念を、持っているので。例えば:

var list = document.querySelectorAll("form, p, legend"); 

は... formまたはpまたはlegendある任意の要素を含むリストを返します。

CSSにはもう1つの概念があります。より多くの基準に基づいて制限すること。セレクタの複数の要素を組み合わせるだけです。例えば:

var list = document.querySelectorAll("div.foo"); 

... が)他のdivの要素を無視して、クラスfooを持っていることをすべてdiv要素のリストを返します。

あなたは、もちろん、それらを組み合わせることができます。

var list = document.querySelectorAll("div.foo, p.bar, div legend"); 

...「もfooクラス、またbarクラスを持つすべてのp要素を持っており、任意のlegend任意のdiv要素を含めることを意味します要素はdivの内部にもあります。

+0

は、document.querySelectorAllの単一のクラスを使用する可能性があります。たとえば、var hotspots = document.querySelectorAll( "。clickMapItem.text、.clickMapItem.multiImageText");があります。 var i; for(i = 0; i

+0

@MileMijatovic:質問はコメントではなく質問として投稿する必要があります。しかし、参照してください:http://stackoverflow.com/questions/25238153/how-to-get-background-color-property-value-in-javascript/25238247#25238247 –

+0

一般的に、私は何をすることが可能ですか?尋ねられた?リンクが役に立たなかった –

2

をドキュメントによると、ちょうど任意のCSSセレクタと同じように、あなたはできるだけ多くの条件を指定することができ、そしてそれらは論理「OR」として扱われます。

この例では、 "ノート" のいずれかのクラスまたは "警告" と文書 内のすべてのdiv要素のリストを返します。

var matches = document.querySelectorAll("div.note, div.alert"); 

元:一方https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll

へjqueryは次のように「AND」機能を使用できます。たとえば、jqueryは次のように表現します。

https://api.jquery.com/multiple-attribute-selector/

ex。 "input[id][name$='man']"は、要素のidとnameの両方を指定し、両方の条件を満たす必要があります。クラスの場合、2クラスのオブジェクトを要求するのは ".class1.class2"のように明白です。

両方の可能な組み合わせがすべて有効であるため、より洗練された「OR」と「AND」式を簡単に同等にすることができます。