gpt4 book ai didi

使用 .append(html) 创建的 jQuery 元素不可用

转载 作者:行者123 更新时间:2023-12-01 02:17:35 24 4
gpt4 key购买 nike

我有以下内容

<script>
$(document).ready(function() {
$(".mapLink").click(function(){
pos = $(this).attr("id");
alert(pos);
});
});
</script>

<a class="map" id="test">Test</a>

当我点击“测试”时,我收到一条警报……太棒了。但我还有以下...

<script>
$(document).ready(function() {
$(".mapLink").click(function(){
pos = $(this).attr("id");
alert(pos);
});
});
$(#emp").change(function(){
$("#existingAttendTime").html('');
$.ajax({
url: "existingAttendTime.php?emp=" + SelValue + "&time=0",
cache: false,
success: function(html){
$("#existingAttendTime").append(html);
}
});
});
</script>

<a class="mapLink" id="test">Test</a>
<div id="existingAttendTime"></div>

当 emp 发生变化时,它会触发并从existingAttendTime.php 获取结果并将其插入到 div 中,所以现在看起来像......

<a class="mapLink" id="test">Test</a>
<div id="existingAttendTime"><a class="mapLink" id="12345">Return Test</a></div>

单击“测试”会显示警报“测试”,但单击“返回测试”不会显示任何信息。

我做错了什么或者我错过了什么?

最佳答案

您需要在“实时”模式下绑定(bind)您的点击处理程序,否则新添加的 DOM 节点将不会触发它:

$(document).ready(function() {
$(".mapLink").live("click", function(){
pos = $(this).attr("id");
alert(pos);
});
});

曾经有一个实时查询所需的插件,但 jQuery 1.3 集成了它的有限版本 into core 。另请注意,只有某些事件类型有效; changesubmit 等不会,因此您必须在将新节点附加到 DOM 的同一函数内显式附加处理程序。

关于使用 .append(html) 创建的 jQuery 元素不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1489982/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com