Javascript 访问刚刚使用jQuery.add()添加的元素
我目前有一个javascript函数,它使用jQuery.add()方法向DOM中添加一个元素,然后立即尝试访问它(在本例中,通过添加一个类,等待一段时间,然后再次删除它)Javascript 访问刚刚使用jQuery.add()添加的元素,javascript,jquery,Javascript,Jquery,我目前有一个javascript函数,它使用jQuery.add()方法向DOM中添加一个元素,然后立即尝试访问它(在本例中,通过添加一个类,等待一段时间,然后再次删除它) elem=“添加的元素 jQuery(“body”).add(elem) jQuery(“新”).addClass(“红色”) setTimeout(函数(){ jQuery(“.new”).removeClass(“红色”) },1000) 问题是jQuery选择器找不到.new元素。我发现的所有类似问题的解决方案都涉及
elem=“添加的元素
jQuery(“body”).add(elem)
jQuery(“新”).addClass(“红色”)
setTimeout(函数(){
jQuery(“.new”).removeClass(“红色”)
},1000)
问题是jQuery选择器找不到.new元素。我发现的所有类似问题的解决方案都涉及在加载元素后将单击/鼠标事件绑定到该元素,这不是我在本例中要寻找的。
我还研究了jQuery.add()的替代方法,但只提出了jQuery.append(),这导致了同样的问题
如果与此相关,则此代码段所在的函数位于jQuery(document).ready()函数之外
tl;dr版本:在使用jQuery.add()添加元素之后,如何操作(例如,向元素添加类)?您完全搞错了
“
id
和class
选择器丢失(id-
和class-
)elem='添加的元素
jQuery(“body”).append(elem)
jQuery(“.new”).addClass(“红色”)
setTimeout(函数(){
jQuery(“.new”).removeClass(“红色”)
}, 1000)
演示:
我可以这样写
var elem = $('<p class="new">added element</p>').appendTo('body').addClass('red');
setTimeout(function(){
elem.removeClass("red")
}, 1000);
var elem=$('添加的元素)
).appendTo('body').addClass('red');
setTimeout(函数(){
元素移除类(“红色”)
}, 1000);
演示:将
更改为
或者,如果您的意思是类,则将标记更改为具有类而不是id
elem = '<p class="new">added element</p>'
将elem=“添加的元素更改为
elem=”添加的元素
“
elem = '<p id="new">added element</p>';
jQuery("body").add(elem)
jQuery("#new").addClass("red")
setTimeout(function(){
jQuery("#new").removeClass("red")
},1000)
elem='添加了元素;
jQuery(“body”).add(elem)
jQuery(“新”).addClass(“红色”)
setTimeout(函数(){
jQuery(“新”).removeClass(“红色”)
},1000)
gah my bad-我正在尝试向新添加的元素添加一个类,在本例中,id为“new”missedadd()
vsappend()
更改为append似乎解决了这个问题,感谢所有回答的人!
jQuery("#new").addClass("red")
setTimeout(function(){
jQuery("#new").removeClass("red")
});
elem = '<p class="new">added element</p>'
jQuery("body").append(elem)
elem = '<p id="new">added element</p>';
jQuery("body").add(elem)
jQuery("#new").addClass("red")
setTimeout(function(){
jQuery("#new").removeClass("red")
},1000)