Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 访问刚刚使用jQuery.add()添加的元素_Javascript_Jquery - Fatal编程技术网

Javascript 访问刚刚使用jQuery.add()添加的元素

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元素。我发现的所有类似问题的解决方案都涉及

我目前有一个javascript函数,它使用jQuery.add()方法向DOM中添加一个元素,然后立即尝试访问它(在本例中,通过添加一个类,等待一段时间,然后再次删除它)

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”missed
    add()
    vs
    append()
    更改为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)