JQuery Mobile如何循环访问元素列表并将其ID添加到列表中

JQuery Mobile how to iterate through a list of elements and add their id's to a list

本文关键字:列表 ID 添加 元素 访问 何循环 Mobile 循环 JQuery      更新时间:2023-09-26

我在无序列表中有一个li标签列表。所有标签都有一个class=listitem和一个data-clicked=true/false,我需要浏览并只写那些带有data-clicked=true的标签的 id,并将其添加到一个名为 custidlist 的字符串中,并用逗号分隔每个项目。这是我所拥有的:

    $("#done").click(function() {
        var custidlist=""
        $(".listitem").each(function() {
        if ($(".listitem").data("clicked")==true) {
            custidlist=custidlist+$(".listitem").attr("id")+","
            alert(custidlist)
        }
    }); 

按下按钮时,警报根本不显示。任何帮助将不胜感激。

试试这个:

$("#done").click(function() {
    var custidlist = $(".listitem").map(function() {
        return ($(this).data("clicked")) ? this.id : null;
    }).get();
    alert(custidlist.join());
}); 

@adeneo提供了一个优雅的答案。这可能有助于您了解代码不起作用的原因。

$("#done").click(function() {
    var custidlist = "";
    $(".listitem").each(function() {
        if ($(this).attr("data-clicked") == "true")
            custidlist += this.id + ","
    });
    alert(custidlist)
});