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