use*_*527 9 jquery element dynamic click
if($('#term').children().length == 0){
$("#term").append("<ul id='ulDynamic' class='ulDynamic'></ul>");
var i;
for(i=1;i<=3;i++){
var liDynamic = "Term "+i;
var liId = "Term"+i;
$("#ulDynamic").append("<li id="+liId+ " class='listDynamic'>"+ liDynamic +"</li>");
if(i==0){
$('#'+liId).click();
}
}
Run Code Online (Sandbox Code Playgroud)
.click()无效,因为liId是动态创建的元素.我想在页面加载时自动点击第一个li元素.还有其他办法吗?
Sud*_*oti 11
做类似的事情:
$("#term").append("<ul id='ulDynamic' class='ulDynamic'></ul>");
var i;
for(i=1;i<=3;i++){
var liDynamic = "Term "+i;
var liId = "Term"+i;
var $li = $("<li />", {
"id" : liId,
"class" : 'listDynamic'
}).html(liDynamic).click(function() {
alert("clicked:" + this.id);
});
$("#ulDynamic").append($li);
}
$("#ulDynamic").find("li:first").trigger("click");
Run Code Online (Sandbox Code Playgroud)
演示:: jsFiddle
我已经看到你的ID开头Term所以你可以使用.on()在稍后添加的DOM上添加click事件.
Exapmple
$(document).on('click','[id^="Term"]',function(){
//code here
});
Run Code Online (Sandbox Code Playgroud)