2017-03-18 24 views
1

我有一個類定義的HTML元素如下:如何形成的查詢選擇可與AND和OR

<div class="GM BOLTA 2016" > 
<div class="GM BOLTB 2016" > 
<div class="GM BOLT 2015" > 
<div class="FORD BOLT 2016" > 

我希望能夠使查詢選擇反對這個具體而言,我想知道有通用汽車,也有任何與BOLT開始,而不是2015年。

我想這樣

[GM][^BOLT]!2015 

,但顯然是錯誤的所有div標籤。

+0

如果你想查詢**每個**類,你可能需要你自己的過濾器,因爲querySelector只能找到與整個className字符串相關的mathes,意思是'class =「GM SOMEBOLT」'也會匹配查詢任何與BOLT等 – adeneo

+2

^如果這不是一個問題,最接近你會與querySelector可能是'.querySelectorAll('[class * =「GM」] [class * =「BOLT」]:not([類* = 「2015」])')' – adeneo

回答

1

我想知道,有GM的所有div標籤,並且還具有任何 開始與BOLT,而不是2015年。

普通的JavaScript:

var matches = document.querySelectorAll('.GM, [class^="BOLT"]:not(.2015)'); 

jQuery:

$('.GM, [class^="BOLT"]:not(.2015)')