我有一組4個元素。每個類別都屬於4個類別中的2個,因此每個類別組合都是唯一的。我想用jQuery找到一種方式,根據它的獨特類組合,僅選擇其中一個元素。這可能嗎?有沒有辦法讓jQuery中的選擇器相交
我期待像
$(".class1 & .class2")
是這合理嗎?
的jsfiddle例如: http://jsfiddle.net/7UfYH/
我有一組4個元素。每個類別都屬於4個類別中的2個,因此每個類別組合都是唯一的。我想用jQuery找到一種方式,根據它的獨特類組合,僅選擇其中一個元素。這可能嗎?有沒有辦法讓jQuery中的選擇器相交
我期待像
$(".class1 & .class2")
是這合理嗎?
的jsfiddle例如: http://jsfiddle.net/7UfYH/
你可以做
$(".class1.class2")
但我actally沒有得到你的提琴有做這一點。你想達到什麼目的?
就像你在CSS中一樣。 – Boaz 2013-03-14 15:35:04
在小提琴中,我試圖通過「jon」和「stark」類將黑色轉換爲div。 雖然你的建議很有效。謝謝。 – hoylemd 2013-03-14 15:37:42
然後將其標記爲答案。 – iappwebdev 2013-03-14 15:43:45
對於一個可怕的解決方案,仍然工作......
$('.class1').filter('.class2');
或
$('.class2').filter('.class1');
注意,$(」。class1.class2' )選擇無疑是最快的解決方案。但是,如果看到這個答案的人從來不知道filter()
是什麼,現在他們有一個體面的把握,並且可能能夠擴展這個邏輯。
想想看,如果有人問「如何在jQuery中選擇帶ID的元素?」顯然,最快/最明顯的答案是$('#id')
。但是像$('*[id="' + id + '"]')
這樣的答案提供了另一種見解,它可能比明顯的答案本身更有用也可能不更有用。
你在開玩笑嗎? – iappwebdev 2013-03-14 15:36:15
這是如何被低估?這是一個有效的答案,我甚至指出它很糟糕,只是因爲明顯的解決方案非常明顯。 – 2013-03-14 15:38:02
有效的答案也是:'var $ elem = $('。class1'); $ elem =($ elem.hasClass('class2'))? $ elem:$();'。但沒有人會這樣做。而且你必須承認,每個人都在試圖找到最好的解決方案......而你的不是。你爲什麼要使用它? – iappwebdev 2013-03-14 15:41:44
*「......基於它獨特的類組合。」*這是什麼意思?它看起來與你給出的例子不同,它不是關於一個獨特的類組合,而是(看似)只是一個具有這兩個類的元素...... – 2013-03-14 15:35:05
我的意思是,對於我的例子,每個元素都有一個獨特的組合類。例如,在我的jsfiddle中,只有一個div同時具有「jon」和「stark」類。 – hoylemd 2013-03-14 15:39:44
看起來像是。但我並不認爲要搜索「多個」。下次我會嘗試着去考慮更多的同義詞,也許我的一小部分聲望不會再被消滅。 – hoylemd 2013-03-14 15:58:28