[英]jQuery: How to append something after one element?
DOM
<div id="a">
<div id="b"></div>
<div>
<p>Insert me after #b</p>
要求是在'#b'之后插入insert p标签,并且当再次发生插入操作时,仅替换p标签而不添加更多标签。
谢谢你的帮助
尝试这个:
function insertP(html)
{
var a = $("#a");
var p = a.find("p")
if(p.length == 0)
{
p = $("<p></p>").appendTo(a);
}
p.html(html)
}
这将直接在#a中的#b之后插入它,但是如果它已经存在,则不会再次插入。
$(document).ready(function(){
if ($('#newP').length == 0) {
$('#b').append('<p id="newP">Insert me after #b</p>')
}
});
此函数将删除现有元素,然后添加新元素。 如果不存在,它将仅添加元素。
<body>
<script type="text/javascript">
$(document).ready(function() {
function addAfterB(pElement) {
if (!$('#b ~ p')) {
$(pElement).insertAfter('#b');
} else if ($('#b ~ p')) {
$('#b ~ p').remove();
$(pElement).insertAfter('#b')
}
}
addAfterB('<p>New Item 1</p>');
});
</script>
<div id="a">
<div id="b"></div>
<p>hello</p>
<div>
您可以使用$ .after()...
<div id="a">
<div id="b"></div>
<div>
...
<script>
$("#b").after("<p>Insert me after #b</p>");
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.