例如,当我有:
<div class="abc123"></div> <!-- no child div -->
我想在其中插入一个新的div:
<div class="xyz">some content</div>
结果是:
<div class="abc123">
<div class="abc">Some Content</div>
</div>
如何使用javascript实现此功能?
答案 0 :(得分:2)
在jQuery中:
$(".abc123").each(function() {
if (this.children(".abc").length == 0) {
$(this).append('<div class="xyz">some content</div>');
}
});
var divs = document.getElementsByTagName("div");
for (var i = 0; i < divs.length; i++) {
if (divs[i].childNodes.length == 0) { // testing if it has not child
var newdiv = document.createElement('div');
newdiv.innerHTML = "some content";
newdiv.className = "xyz";
divs[i].appendChild(newdiv);
}
}
修改强>
以下代码产生与上述jQuery代码(根据RobW的评论编辑)相同的效果:
var divs = document.getElementsByClassName("abc123");
for (var i = 0; i < divs.length; i++) {
if (divs[i].getElementsByClassName("abc").length == 0) {
var newdiv = document.createElement('div');
newdiv.innerHTML = "some content";
newdiv.className = "xyz";
divs[i].appendChild(newdiv);
}
}
答案 1 :(得分:0)
也许您想看看这个问题:How to check if element has any children in Javascript?
看起来像你在找什么:)
答案 2 :(得分:-2)
使用jQuery:
if ($('.abc123 div').length == 0) {
$('.abc123').append('<div class="xyz">some content</div>');
}