2011-03-30 44 views
0

我試圖運行具有大量元素ID的匹配選擇,但在IE8我不斷收到錯誤:對象犯規支持此屬性或方法。的Jquery在選擇事業誤差大/項目衆多的IE8

jQuery的是這樣的:

var elements = $('#182,#183,#184,#185,#211,#212,#213,#214,#220,#221, 
#222,#223,#225,#226,#227,#228,#234,#241,#242,#243,#244, 
#245,#246,#247,#248,#250,#251,#252,#253,#256,#257,#258,#259,#260'); 

的實際查詢實際上較長和ID是不連續的。 我已經打破了列表分成較小的部分,並分別運行每個部分。 較小的選擇的所有運行良好。

我想知道是否有一種方法我可以使用一個選擇?

如這裏請求是標記的一個例子,但有數百行的現實:

<table id="ListTable"> 
<tbody> 
<tr id="1" style="display: none;"></tr> 
<tr id="2" style="display: none;"></tr> 
<tr id="3" style="display: none;"></tr> 
<tr id="4" style="display: none;"></tr> 
<tr id="95" style="display: none;"></tr> 
<tr id="5" style="display: none;"></tr> 
<tr id="6" style="display: none;"></tr> 
<tr id="7" style="display: none;"></tr> 
<tr id="8" style="display: none;"></tr> 
<tr id="9" style="display: none;"></tr> 
<tr id="10" style="display: none;"></tr> 
<tr id="11" style="display: none;"></tr> 
<tr id="82" style="display: none;"></tr> 
<tr id="83" style="display: none;"></tr> 
<tr id="84" style="display: none;"></tr> 
<tbody> 
</table> 
+0

你可以顯示你的HTML標記嗎? – hunter 2011-03-30 16:24:23

回答

2

把一類的每一元素與IDS(順便說一句不只是數字使用IDS。讓他們多一點的描述,只是解析它們與子),並調用該類代替你會得到這些元素的數組:

$(".classname") 

說你想選擇:

<input id="#example_182" class="example" /> 
<input id="#example_125" class="example" /> 
<input id="#example_252" class="example" /> 
<input id="#example_183" class="example" /> 
<input id="#example_345" class="example" /> 
<input id="#example_456" class="example" /> 

然後你可以使用其全部選中:

$(".example") 

那麼,如果你想獲得通過例如它們的ID循環,然後做一個子

$(".example").each(function(ex) { 
    myid = $(this).attr("id").substring(8) 
}) 

*注意,你最好檢查文檔對於每一個,我不確定這是否是語法

+0

感謝@corroded但沒有做什麼,我需要直接,ID列表是行的ID在表中。我想根據select元素的值顯示/隱藏多行。比方說,用戶從select元素中選擇選項組1,然後我想隱藏所有與該組相關的id(我存儲在一個javascript數組中)。我建立了上面的選擇器,然後隱藏列表。我可以爲每個行元素添加一個類來標識與其相關的goup。這可能會解決這個問題。不過,我只是想看看有沒有人知道這個限制? – Dave 2011-04-01 10:33:00

+0

這只是一個例子,因爲我不知道你需要哪些類的元素和類。但是我的建議不正確嗎? – corroded 2011-04-01 10:36:48

+0

我決定關注@corroded lead,並將類添加到表示組行與彼此相關的div。 – Dave 2011-04-04 09:14:31