如何一次性获得ID

时间:2014-04-17 04:57:52

标签: jquery dynatree

此dynatree代码。生成自动生成的ID。

$("#tree").dynatree({
selectMode:1,
generateIds:true
});   

这些都是dynatree ul的标签。所有ID都是自动生成的ID。在这里,我将获取所有li id以在drop事件上绑定。我想要一次性使用所有自动生成的ID。我不应该指定个人。我想要动态。任何人。

 var obj = $("#dynatree-id-_3,#dynatree-id-_6,#dynatree-id-_7,#dynatree-id-_8,#dynatree-id-_9,#dynatree-id-_10,#dynatree-id-_11,#dynatree-id-_12,#dynatree-id-_13,#dynatree-id-_16,#dynatree-id-_17,#dynatree-id-_18,#dynatree-id-_19,#dynatree-id-_20,#dynatree-id-_21");

4 个答案:

答案 0 :(得分:2)

您可以使用属性选择器:

var obj = $('[id^="dynatree"]');

以上代码可以为您提供以 dynatree 开头的ID项目。

答案 1 :(得分:1)

你可以这样做

1)创建一个空数组 2)迭代所有li s 3)将每个id推送到阵列,如下所示 4)然后用逗号连接数组并使用它

var ids = [];
$("#tree ul").find("li").each(function () {
    ids.push("#" + this.id);
});

var idsString = ids.join();
//$(idsString)

答案 2 :(得分:1)

使用类似var obj = $("[id^=dynatree-id]")的内容来获取以dynatree-id开头的所有ID。 请参阅:Wildcards in jQuery selectors

答案 3 :(得分:0)

对此的另一个解决方案可能是 -

在分配动态ID时,您可以为它们提供一个公共类,Say class =“dynamicLi”,然后您不需要遍历任何数据项列表。

您可以简单地使用:

$(".dynamicLi")