我的属性未正确追加

My attributes are not appending correctly

本文关键字:追加 属性 我的      更新时间:2023-09-26

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

首先,您的标记无效,您应该用 olul 元素包装li元素。此外.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/

不,if没问题...问题是x未定义。

只是写

item.appendTo("#div2");
//define x

$("#button").on("click", function(){
    var item = $("div li").each(function(){
    return $(this).filter('[data-item]');
    });
    if (item.attr("data-item") <= 12){
    var  x = //item;
    x.appendTo("#div2");
    } 
    });