我從表中刪除行,然後在用戶對錶單進行一些編輯後重新插入它們;標記爲jquery插入的元素類未加載
class="view_dialog"
對插入的行沒有「加載」。
原始行有這樣的佈局:
<tr>
<td>new one</td>
<td>B2B NFIB</td>
<td class="actions" id="actions">
<a href="/dirs/edit/252" class="view_dialog">Edit</a>
</td>
</tr>
一旦用戶改變了一些事情,我刪除所有行(通常只是4 3),並使用jQuery來填充表(.records):
$('.records tbody tr:last').after('<tr><td>'+data.dirArray[$count].Dir.name+'</td><td>'+data.dirArray[$count].Dir.dir_description+'</td><td class="actions" id="actions"><a href="/dirs/edit/'+data.dirArray[$count].Dir.id+'" class="view_dialog" id="Edit'+data.dirArray[$count].Dir.id+'">Edit</a></td></tr>');
行創建了就好了,爲行生成的代碼是相同的原始(添加ID試圖用.addClass沒有運氣)
<tr>
<td>new one</td>
<td>B2B NFIB</td>
<td class="actions" id="actions">
<a href="/dirs/edit/252" class="view_dialog" id="Edit252">Edit</a>
</td>
</tr>
爲什麼班級沒有「加載」。我正在使用這個類來觸發一些事件。
試圖
$("[id^=Edit]").addClass('view_dialog');
沒有結果。
Checked.live,但它必須與父母子女的控制。在這種情況下使用它是強制性的嗎?
你能幫忙嗎?
非常感謝!
您確定該類未設置嗎?當您在Firebug或開發工具中查看DOM時,您會看到什麼?我認爲問題更可能是新元素沒有綁定事件,因爲您在添加行之前綁定了事件。 – Barmar
您是否嘗試過使用.delegate()而不是.live()? .live()在jQuery 1.7中已被棄用。 http://api.jquery.com/delegate/ – supernova
@supernova「從jQuery 1.7開始,.delegate()已被.on()方法取代」。 –