我已經使用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