2011-04-08 47 views
5

因此,誠實的事實是,我甚至不知道我會搜索什麼條件來獲得針對此目標的合理定位的搜索結果,所以我認爲我希望能夠快速在這裏迴應。我試過的搜索(包括SO的相關問題)沒有提到這個問題。IE7上的jQuery#id.classname選擇器

我在阿森納的每一個瀏覽器可以支持以下jQuery選擇,並提醒適當的長度(2):

alert(jQuery('#course-contents.course-sidebar .folder').length); 

但不是IE7。它告訴我有零。另一方面,這個:

alert(jQuery('.course-sidebar .folder').length); 

在這兩個地方給了我2的結果。 IE7適合的組合是什麼?這兩個組件在一些地方是必需的,所以我不想只是改變它。如果我的語法不可靠,我想知道爲什麼。

謝謝。

回答

2

這是一個記錄的IE6/7的bug(再次... ),建議使用@Peter

有關解決方法,你可以使用

jQuery('.course-sidebar') 
    .filter('#course-contents') 
    .find('.folder') 
    .length 

或(使用context,不易閱讀)

jQuery('.folder', jQuery('.course-sidebar').filter('#course-contents')).length 
+0

謝謝。此處給出的解決方法的答案。非常感激。 – 2011-04-08 15:58:19

+0

哇,這樣的東西仍然是必要的,但謝謝你! – markus 2011-09-20 23:01:59

6

所述的第一當然是一個更嚴格的選擇:只有ID標籤下的類都採取了帳戶,這是不是IE7(或IE6爲此事)支持

中的第二選擇是對所有的孩子的課程側邊欄,無論他們出現在哪裏。

事實上,IE瀏覽器與#ID.class選擇一個問題:

http://bytesizecss.com/blog/post/the-idclass-selector-in-ie6

http://csscreator.com/node/26521

http://code.google.com/p/ie7-js/issues/detail?id=29

+0

+1偉大的閱讀材料。 – 2011-04-08 15:58:00