我正在创建一个If ... Else语句,需要检查该元素是否具有innerHTML / textContent。 像这样:
if (<span class="event"> *yet has some text inside*) {do smth}
else {do smth else};
那么,我如何使用Javascript来做到这一点? 请帮助!
UPD!我动态更改内容,
element.innerHTML
在我将一些文字放入我的&lt;之后,似乎无法正常工作span&gt;。我的意思是它仍然认为&lt; span&gt;是空的。有什么办法吗?
答案 0 :(得分:3)
使用innerHTML
检查范围的document.getElementsByClassName("ClassName");
。您需要index
,因为您可能有多个具有相同类名的元素。点击按钮动态添加span
内的文字。并再次检查它是否影响输出。试试这种方式,
HTML:
<span class="event"></span>
<button id="addTextButton">Add Text In Span</button>
<button id="removeSpanTextButton">Empty Span</button>
<button id="checkSpanButton">Check Span Content</button>
javaScript:
var spanContent = document.getElementsByClassName("event")[0];
checkSpanButton.onclick = function(){
if(spanContent.innerHTML == ""){
alert("Span is empty..");
}
else{
alert("Span Text : " + spanContent.innerHTML);
}
};
// dynamically add text
addTextButton.onclick = function(){
spanContent.innerHTML = "Added This Text.";
};
removeSpanTextButton.onclick = function(){
spanContent.innerHTML = "";
};
答案 1 :(得分:0)
您可以使用:
var element = document.getElementsByClassName('event')[0];
if(element.innerHTML){
//do something
} else{
// do other things
}
如果要迭代具有类事件的所有元素,请使用:
var element = document.getElementsByClassName('event');
for(var i=0;i<element.length;i++){
if(element[i].innerHTML){
//do something
} else{
// do other things
}
}
答案 2 :(得分:0)
这很简单:
if (element.innerHTML) {
// element has content
} else {
// element is empty
}
答案 3 :(得分:0)
例如:
var x = document.getElementsByClassName("event");
var i;
for (i = 0; i < x.length; i++) {
if (x[i].innerHTML)...
}
您可以使用许多ways从JS访问HTML元素。一旦你访问了你的元素,你就可以(elem.innerHTML)。
P.S。 var element = document.getElementsByClassName('event')[0];
如果不检查数组大小,请不要使用下面的建议。
答案 4 :(得分:0)
innerHTML的替代方法
if(document.getElementById("element_id").lastChild) {
//Has content
}
else {
//No content
}
答案 5 :(得分:-1)
// JQuery First get the element's text with text
//function and check if its length is 0 means its empty
if($('。el')。text()。length == 0){
// do something
}
// JS
//And Its the same as jquery here we get the element by className or Id and check textContent
if(document.getElementById('el').textContent.length == 0 {
// do something
}