此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");
答案 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")