Javascript 原型中数组中的未定义变量
我有以下代码:Javascript 原型中数组中的未定义变量,javascript,prototypejs,undefined,Javascript,Prototypejs,Undefined,我有以下代码: <ul id="litemsd"> <li class="litemd"> <input type="checkbox" id="d1" name="d1" /> <label for="d1">Number One</label> </li> <li class="litemd"> <input type="checkbox" id="d2" name="d2" />
<ul id="litemsd">
<li class="litemd">
<input type="checkbox" id="d1" name="d1" />
<label for="d1">Number One</label>
</li>
<li class="litemd">
<input type="checkbox" id="d2" name="d2" />
<label for="d2">Numer Two</label>
</li>
<li class="litemd">
<input type="checkbox" id="d3" name="d3" />
<label for="d3">Numer Three</label>
</li>
</ul>
但当到达该代码时,firebug中会弹出以下错误:
"s is undefined"
有什么提示吗
$$('li.litemd').pluck('checked').each(function() {
alert($$(this).next().innerHTML)
});
?返回一个值数组(无论您传入了什么属性名称),因此它不会将您的结果过滤到选中的值,而是直接返回一个[false,false,false]
数组
相反,我认为你想要这个:
$$('li.litemd input').each(function(s) {
if(s.checked) alert(s.next().innerHTML)
});
,请注意在选择器中添加了input
,因为您是在中检查的属性,而不是在本身上进行检查。我认为您混淆了Pull()使用的属性与HTML属性。无论如何,添加checked的伪类作为初始选择器的一部分更容易,如:
$$('li.litemd input:checked').each(function(s) {
alert(s.next().innerHTML);
});
你应该发布Pulk的做法感谢你的回应。没有错误,但无法识别选中的项目。@xain-它应该,就像在演示中一样…您得到了什么行为?不,“$$(此)。next不是函数”
$$('li.litemd input:checked').each(function(s) {
alert(s.next().innerHTML);
});