当前代码似乎会附加所有内容,只要数据项小于或等于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");
    }
});

最佳答案

首先,您的标记无效,您应该用liol元素包装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/

10-14 13:37