我有关于javascript的问题。如果它是空的,我想将innerHTML添加到div。这是我的代码,请帮我复习。所有div都是同一个类,不是使用id而只使用javascript。谢谢 HTML:
<div class="B">Test</div> <br/>
<div class="B"></div> <br/>
的javascript:
function test(){
var x = document.getElementsByClassName("B");
for (i = 0; i < x.length; i++) {
if (x[i].length() < 0){
x[i].innerHTML = "add test";
}
}
}
答案 0 :(得分:4)
您需要使用x[i].innerHTML.length
代替x[i].length()
,并且它不会小于零,至少它将为零。
我在您的代码中做了很多更正
<强> Live Demo 强>
function test(){
var x = document.getElementsByClassName("B");
for (i = 0; i < x.length; i++) {
if (x[i].innerHTML.trim().length == 0){
x[i].innerHTML = "add test";
}
}
}
答案 1 :(得分:1)
jquery解决方案:
$('.B').each(function() {
var that = $(this);
if (that.text().length == 0) {
that.html('add test');
}
});
<强>样本强>
B类中没有任何文本的最后两个div将填充字符串add test
$('.B').each(function() {
var that = $(this);
if (that.text().length == 0) {
that.html('add test');
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="A">testA</div>
<div class="B">testB</div>
<div class="B"></div>
<div class="B"></div>
&#13;