我是JQuery新手,因此我很难捕捉到通过PHP循环自动生成的元素ID。
我的问题是如何在JQuery中捕获那些自动生成的id,如何在JQuery中使用循环来捕获唯一的id,顺便说一句,我的id格式是id="divAddressSet1", id="divAddressSet2"
等等。我将如何能够捕获name(divAddressSet)+a unique number
附加与每个id在JQuery
任何想法?
尝试在此上下文中使用attribute starts with selector
,
$('[id^="divAddressSet"]')
或者做一件事,在生成这些元素的同时,只需为其附加一个公共类。然后在class selector
的帮助下抓取这些元素,比如
$('.commonClass')
因为你的元素是在运行时创建的,所以使用event-delegation
如下所示,
$(document).on("click" ,'.commonClass',function() {
});
作为一个特别注意事项,将最接近.commonClass
的静态父节点替换为document
。如果你不这样做,那么绑定的点击事件只会在propagation
到达document
[$(document).on(…)]之后才会被触发。Document是DOM的根,所以如果你有一个相当大的DOM结构,它会导致性能滞后。
使用event delegation
$(document).on("click" ,'[id^="divAddressSet"]',function() {
alert(this.id);
});
id选择器使用前缀" #
"类选择器使用" .
"
试试这个
选择器示例:
以给定字符串开头(例如divAddressSet),
$("[id^='divAddressSet']")
如果要选择id包含给定字符串的元素:
$("[id*='divAddressSet']")
脚本$(document).on("click" ,'[id^="divAddressSet"]',function() { });
或
$(document).on("click" ,'.yourclass',function() { });