jQuery每次循环两次,为什么?
我有一个脚本设置,循环代码是这里的HTML结构jQuery每次循环两次,为什么?
http://jsfiddle.net/OwenMelbz/mPVbE/
它基本上搜索里的非空的id,并将它们放入一个csv字符串。然而,无论何时我运行它,它总是会在我的非小提琴版本中添加一个额外的循环,所以我有9个li's,3个包含ID,循环运行4次。为什么是这样?
在我的非dev版本中,它实际上是再次挑选第一个li的ID并添加它。例如。
1,2,3,4,5,6,1
1将在第一个元素上。不知道为什么这样做呢?
感谢
你在你的代码中.each()
后进行额外的alert(params);
。这是最后的alert()
负责。
这里是一个更新的,更简单的版本:
$("#ingredients").submit(function(event) {
event.preventDefault(); //Just for testing so the form doesn't submit
var params = []; //Array of params
$("li").each(function() {
if ($(this).prop("id") != "") //Prop always returns a string, empty if no ID
params.push($(this).prop("id")); //Push the ID into the array
});
alert(params.join(",")); //Join the array with a coma
});
ID不是一个属性,但属性?我很惊讶这个作品。 http://www.w3.org/TR/html4/struct/global.html#h-7.5.2 – mrtsherman
比这更复杂。检查[这个问题](http://*.com/questions/5874652/prop-vs-attr)。 99%的时间应该使用'.prop'。 –
谢谢,很好的资源 – mrtsherman
是的,我注意到,但它仍然犯规解释额外的1,被添加到年底agian! – Owen