当前代码似乎会附加所有内容,只要数据项小于或等于12。
<div id="div1">
<li data-item="11"></li>
<li data-item="12"></li>
<li data-item="13"></li>
<li data-item="14"></li>
</div>
<div id="div2"></div>
IF语句中缺少什么吗?
$("#button").on("click", function(){
var item = $("div li").each(function(){
return $(this).filter('[data-item]');
});
if (item.attr("data-item") <= 12){
item.appendTo("#div2");
}
});
最佳答案
首先,您的标记无效,您应该用li
或ol
元素包装ul
元素。另外,.fllter()
方法的用法不正确,并且x
变量是undefined
,请尝试以下操作:
<ul id="ul1">
<li data-item="11"></li>
<li data-item="12"></li>
<li data-item="13"></li>
<li data-item="14"></li>
</ul>
<ul id="ul2"></ul>
$("#button").on("click", function() {
// Filter the li elements
$("#ul1 li").filter(function(_, item) {
return $(item).attr("data-item") <= 12;
}).appendTo("#ul2"); // append the returned elements to another element
});
http://jsfiddle.net/vPXh3/
关于javascript - 我的属性未正确附加,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19108032/