检查元素中是否有一些文本

新手上路,请多包涵

我正在创建一个 If…Else 语句并需要检查该元素是否具有 innerHTML / textContent。像这样:

   if (<span class="event"> *yet has some text inside*) {do smth}
  else {do smth else};

那么,我如何使用 Javascript 做到这一点?请帮忙!

更新! 我有动态变化的内容,并且

 element.innerHTML

在我将一些文本放入 后似乎无法正常工作。我的意思是它仍然认为 是空的。有什么办法可以治好吗?

原文由 Alexandr Belov 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 280
2 个回答

使用 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>

脚本:

 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 = "";
};

jsFiddle

原文由 Md Ashaduzzaman 发布,翻译遵循 CC BY-SA 3.0 许可协议

这很简单:

 if (element.innerHTML) {
    // element has content
} else {
    // element is empty
}

原文由 Acidic 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题