JQuery测试类的HTML内容/有条件地设置元素的CSS

时间:2017-01-20 14:03:42

标签: javascript jquery

我有一大堆div和#34; eac-item"。

有些项目有内容 - 但其他项目有空白"并且只提出这个:

<div class="eac-item"><br></div>

在JQuery中添加CSS属性&#34; display:hidden&#34;那些具体的项目?

if($('.eac-item').html() == "<br>") { {$(this).hide } ...?  

如何处理此类函数的语法?

2 个答案:

答案 0 :(得分:0)

隐藏元素的一种方法(添加display: none)将使用http://php.net/manual/en/function.getopt.php遍历每个.eac-item

$('.eac-item').filter(function(index) {
  // Filter all elements whose only child is a <br>
  return $("*", this).length === 1 && $("br", this).length === 1;
}).each(function() {
  $(this).hide();
});
.eac-item { border: 2px #000 solid; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="eac-item">
  <br>
</div>

<div class="eac-item">This is not hidden.</div>

如果您真的想从DOM中删除该元素,则可能需要使用each()而不是hide()

答案 1 :(得分:0)

以下代码应该诀窍

$(".eac-item").each(function(){
  if ($(this).html() == "<br>")
    $(this).hide();
});

但我建议采用以下方法

 $(".eac-item").each(function(){
      if ($.trim($(this).text()) == "")
        $(this).hide();
    });