如果另一个元素包含任何文本,如何隐藏一个元素

How to hide an element if another element contains any text

如何在jquery中写入以下内容:

<div class="one">Hello I am One</div>
<div id="hello"></div>

如果 .one 包含任何文本,则隐藏 hello

非常感谢!

Javascript:

<script>
var txt = document.getElementsByClassName('one')[0].innerText;
if(txt == "") {
    document.getElementById('hello').style.display = "none";
}
</script>

jQuery:

<script>
if($('.one').text() == '') {
   $('#hide').hide(0);
}
</script>

您可以找到给定元素中文本的长度,如果长度为 0,则您知道它是空的。

var one = document.querySelectorAll('.one')[0];
var hello = document.getElementById('hello');

if (one.innerText.length) {
  hello.style.display = 'none';
}

或者,如果#hello 出现在 .one 之后,您可以仅使用 CSS 来完成此操作。

#hello {
  display: none;
}

.one:empty + #hello {
  display: block;
}

感谢您的回答!这对我有用:

if($('.one').text() == '') {
    $('#hello').hide;
}