我已经使用append将tr和td标记添加到表中,但我似乎并不知道dom对象存在(我认为这就是append/prepend的作用了吗?) 。当我运行该脚本时,表格行被添加并且用户可以看到它,但是jQuery不捕获超链接上的单击处理程序或其他任何东西。我在另一个非常棒的页面上做了同样的事情。我也包括这一点。如果有人能够告诉我我的思路如何脱轨,我会非常感激。此外,如果我以错误的方式讨论这个问题,请让我知道,这样我可以改进。无法与jQuery添加的dom对象进行交互追加
断码:
$("#addAdmin").click(function(){
$("#chosenAdmins").append('<tr id = "admin' + $("#admins").val() + '"><td align="left">' + $("#admins option:selected").text() + ' </td><td align="right"><a href="#" class = "removeAdmin" id = "ra" style = "font-size: 10px;">Remove</a></td><tr>');
});
$(".removeAdmin").click(function(e){
e.preventDefault();
alert('clicked');
alert(this.attr(id));
});
<select id = "admins">
<option value = "1">bob smith</option>
</select>
<input type = "button" id = "addAdmin"/>
<table id = "chosenAdmins" align="center" width="0%"> </table>
一个不同的页面上的工作原理类似的代码是:
$(document).ready(function() {
var leftData = '<div id = "l1">left Stuff</div>';
var leftData = leftData + '<div id = "l2">left Stuff</div>';
var rightData = '<div id = "r1">right Stuff</div>';
var rightData = rightData + '<div id = "r2">right Stuff</div>';
$("#selector").prepend("<div id = 'leftSelect' style = 'float:left'>"+leftData+"</div><div id = 'rightSelect' style = 'float:left'>"+rightData+"</div>");
$("#l1").click(function(){
$(this).hide("fast", function(){
$(this).prependTo('#rightSelect');
$(this).show("fast");
});
});
});
<div id = "selector"> </div>
请提供***断码***合适的片段,你忘了包括''标签?如果是这样,你还“忘记”排除了什么? – xandercoded
什么都没有。 :)这是所有相关的代码。 – Travis
alert(this.attr(id));也是一场灾难...应该已经警觉($(this).attr(“id”)); – Travis