我有一个树插件,可以创建许多新的DOM元素。在树创建之后,我需要在加载时间页期间调整一些参数,然后用户才能开始与页面交互。点击后我对新DOM元素的操作没有任何问题 - .click
没有实现,但是on.('click' , function(){//do sth})
可以完成它。它尝试了类似于现场,负载的类似东西,但它只是不起作用。在此先感谢您的帮助。
$(document).ready(function(){
//create tree
$('#tree1').tree();
//manipulate some new element created by tree() automatically - doesnt work
$('.some-element').attr('someattr', 'value');
//manipulate some new element created by tree() after event - does work
$(document).on('click', '.some-element', function(){
$(this).attr('someattr', 'value');
});
});
答案 0 :(得分:1)
正如上面的评论所说,你必须查看文档以查看插入的内容,但是在插入元素时如何抓取元素的示例是:
(在这种情况下,它是一个带有类some-element
的元素,其元素为tree1
}
$(document).ready(function(){
//create tree
$('#tree1').tree();
// wait for the element to be inserted...
$('#tree1').on('DOMNodeInserted', '.some-element', function () {
$(this).attr('someattr', 'value');
});
//manipulate some new element created by tree() after event - does work
$(document).on('click', '.some-element', function(){
$(this).attr('someattr', 'value');
});
});
答案 1 :(得分:0)
好的,我阅读了文档,我试图实现的目标是不可能的,因为即使多次单击元素后,此树插件也会插入新元素。我需要在树创建过程中从服务器端获得一些帮助,或者创建一些包含必要信息的对象,并在回调函数中使用它和/或尝试almightyBoognish解决方案。
顺便说一下,如何在我最初的问题下面的评论中接受答案?我只能接受全能的博士回复,我要感谢你们所有人:)