2012-03-28 42 views
0

我有這樣的jQuery選擇:jQuery的後代選擇和多個選擇

$(".class1 class11, .class2").... 

不起作用。 class11被觸發,但class2不是

如果我單獨()使用它們,

$(".class1 class11")... 
$(".class2")... 

他們的工作都。

這是常見問題還是我錯過了什麼?

謝謝!

編輯1

感謝的所有支持!

你說服了我關於選擇器沒有問題的事實,所以我深入瞭解了第二個選擇器。 我又寫了一遍,但這次它仍然沒有工作。 然後我意識到這是由一個jQuery插件附加的,並且我試圖在它後面執行它(在與插件本身同時)之後執行它($(document).ready()。 因此,我已經將它移動到$(window).load(),它現在可以工作。

再次感謝!

+0

你錯過了'.class11'中的'.',但是你在兩個例子中都這麼做,所以不是這樣。你錯過了其他的東西,我們不能在沒有看到你的標記的情況下發表評論,因爲多個選擇器應該按照規定工作。 [小提琴](http://jsfiddle.net/FePXd/) – 2012-03-28 10:51:53

+0

應該工作,可能最好創建一個fiddle.js來演示 – chim 2012-03-28 10:54:01

回答

1

也許你會做

$(".class1 .class11, .class2") 
/* select both .class11 element/s nested in a .class1 element 
* and element/s with .class2 */ 

$(".class1.class11, .class2") 
/* select element/s with both class1 and class11 and element/s with .class2 */ 
1

它應該有工作:看link
你有更多的例子嗎?

1

不要你在你的第一選擇一個錯字(即它不應該是.class1 .class11而非.class1 class11

這個工作對我來說:

HTML

​<div class="class1"> 
c1 
    <div class="class11">c11</div> 
</div> 

<div class="class2">c2</div> 

JavaScript

$(".class1 .class11, .class2").css({color: 'blue'});​​​​ 
+0

http://jsbin.com/anerid/4演示顯示鬍子的點 – kalyang 2012-03-28 11:14:04