我从表中删除行,然后在用户对表单进行一些编辑后重新插入它们;标记为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()方法取代”。 –