Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.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 如何使新的html内容及其ID正常工作?_Javascript_Jquery - Fatal编程技术网

Javascript 如何使新的html内容及其ID正常工作?

Javascript 如何使新的html内容及其ID正常工作?,javascript,jquery,Javascript,Jquery,在replaceWith或新HTML代码中检测和使用id的问题 嗨,我和replaceWith有点问题。当我点击下面的div时 并替换HTML。我无法在新分区中使用id。 我甚至尝试了HTML而不是replaceWith,但我仍然不能 <div id="action"></div> <script> $("#action").click(function(){ var foo = $(this).attr('id');

在replaceWith或新HTML代码中检测和使用id的问题

嗨,我和replaceWith有点问题。当我点击下面的div时 并替换HTML。我无法在新分区中使用id。 我甚至尝试了HTML而不是replaceWith,但我仍然不能

<div id="action"></div>

<script>
$("#action").click(function(){
var foo = $(this).attr('id');
//$("#"+foo).html("<div id="next">do this</div>");
$("#"+foo).replaceWith("<div id="next">do this</div>");
});
$("#next").click(function(){
var bar = $(this).attr('id');
alert(bar);
});
</script>

$(“#操作”)。单击(函数(){
var foo=$(this.attr('id');
//$(“#”+foo.html(“做这个”);
$(“#”+foo);
});
$(“#下一步”)。单击(函数(){
var bar=$(this.attr('id');
警报(bar);
});

您的示例代码有
错误语法
,因此我将其分为两种可能的情况:

  • 替换HTML,然后按顺序单击事件
  • $(“#操作”)。单击(函数(){
    var foo=$(this.attr('id');
    $(“#”+foo);
    $(“#下一步”)。单击(函数(){
    var bar=$(this.attr('id');
    警报(bar);
    });
    });
    
    
    
    操作
    您需要将其与静态元素绑定,即:
    $(文档){..
    您的代码是语法错误,这一事实可能也会妨碍事情的发展…@Swati更正,因为您的#next id在页面加载时不存在,因此单击事件无法绑定到#nextelement@Phong您的代码不可能与问题代码不同。您已将单击事件注册到#操作中的#下一个元素click函数,因此只有在该函数中,click事件的绑定才会发生,此时,只有在dom中存在下一个元素之后,下一个元素才会出现在第一个案例注册中。在第二种情况下,您将click事件附加到始终存在的document元素中,这是一个很大的帮助。我尝试了它,它成功了。C你能解释一下我为什么要加上“on.(“click,id,…”)吗?