1
我試圖在由for-loop
生成的輸入列表中選擇一些特定輸入,其中一些div也由for-loop
生成。這意味着選擇過程有點麻煩和困難,因爲ids
是動態的。通過for-loop生成的特定輸入的複雜選擇
所以,這裏是什麼,我有一個樣品,由for-loop
生成的每個ID:
<div id="block0">
<input id="special0-0" class="block"></input>
<input id="special0-1" class="block"></input>
<input id="special0-2" class="block"></input>
<input id="special0-3" class="block"></input>
</div>
<div id="block1">
<input id="special1-0" class="block"></input>
<input id="special1-1" class="block"></input>
<input id="special1-2" class="block"></input>
<input id="special1-3" class="block"></input>
</div>
<div id="item0">
<input id="special0-0"></input>
<input id="special0-1"></input>
<input id="special0-2"></input>
<input id="special0-3"></input>
</div>
<div id="item1">
<input id="special1-0"></input>
<input id="special1-1"></input>
<input id="special1-2"></input>
<input id="special1-3"></input>
</div>
我想id="special0-2
和id="special1-2"
BUT NOT其中有那些選擇輸入class="block"
。
我已經嘗試了幾種可能性,其中包括這兩個應該工作對我說:
var item2 = $("div[id|='item'] > input[id$='-2']");
var item2 = $("input[id|='special'][id$='-2'][class!='block']");
的問題是,對於每一個選項,console.log(item2)
回報0
,我可以不適用我計劃在JavaScript的變化他們之後。感謝您的想法:)
感謝您的回覆。我編輯了JSFiddle,並且你的4個選項都不起作用,我仍然在日誌中看到'0':http://jsfiddle.net/rdns1p2z/4 – Orphal 2014-10-04 18:56:51
Nevermind。出於某種原因,它在JSFiddle中返回0,但您的解決方案#1在我的真實代碼中完美工作。謝謝! :) – Orphal 2014-10-04 19:00:30
用$(document).ready包裝代碼。它會工作。當你執行代碼時,dom還沒有準備好。檢查這個小提琴:http://jsfiddle.net/rdns1p2z/5/ – Kalyan 2014-10-04 19:08:29