gpt4 book ai didi

jquery - 未创建动态元素

转载 作者:行者123 更新时间:2023-12-01 08:18:08 25 4
gpt4 key购买 nike

我正在尝试添加另一个 <a> <a id='link1'> 之后的元素

<html>
<head>
<script src="js/jquery-1.6.4.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
var myHTML = "<div id='test'>";
myHTML += "<span><a id='link1'>link 1</a></span>";
$("a#link1").after("<a id='link2'>link 2</a>");
myHTML += "</div>";
$("div#insertHere").html(myHTML);
});
</script>
</head>
<body>
<div id="insertHere">

</div>
</body>
</html>

上面的输出应该是

<body>
<div id="insertHere">
<div id="test">
<span>
<a id="link1">link 1</a>
<a id="link2">link 2</a>
</span>
</div>
</div>
</body>

最佳答案

您正在尝试查询尚未添加到 DOM 的元素。
当您执行 $("a#link1") 时,它不会检索任何元素,因为您之前“生成”的 HTML 尚未在 DOM 中,它仍然只是变量 myHTML 中的文本.

生成所有标记并立即应用:

$(document).ready(function () {
var myHTML = "<div id='test'>";
myHTML += "<a id='link1'>link 1</a>";
myHTML += "<a id='link2'>link 2</a>";
myHTML += "</div>";
$("div#insertHere").html(myHTML);
});

如果您需要将事件(或其他)绑定(bind)到您要添加的元素,您可以使用 jquery 中的 dom manipualtion API:

$(document).ready(function () {
var $div = $('<div id="test">').addClass('myClass');

$('<a id="link1">link 1</a>').click(function() { }).appendTo($div);
$('<a id="link2">link 2</a>').appendTo($div);

$("div#insertHere").append($div);
});

进一步阅读:

关于jquery - 未创建动态元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9196377/

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