jquery为空 - 如果没有内容,则删除html标记

时间:2017-03-10 04:03:34

标签: javascript jquery html

jquery empty - 如果没有内容,则删除html标记

如果html标记不包含文本或内容,如何删除它。

如果使用<p></p>代码正在运行, 但 如果使用

<p>

</p>

代码不成功

jquery的

$(document).ready(function(){
    $("button").click(function(){
        $('#demo p:empty').remove();
    });
});

HTML

<p>

</p>
==================================

$(document).ready(function(){
    $("button").click(function(){
		$('#demo p:empty').remove();
    });
});	 
  p {
    background:red;
    color:white;
    height:20px;
  }
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>demo</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>  
</head> 
<body>
  
<button>Run</button>	
<div id='demo'>
  <p>
  
  </p>
  <p>
    Lorem Ipsum .....
  </p>
</div>

</body>
</html>

提前谢谢

2 个答案:

答案 0 :(得分:4)

$(document).ready(function() {
  $("button").click(function() {
    $('#demo p').filter(function() {
      return $(this).html().trim().length == 0
    }).remove();
  });
});
p {
  background: red;
  color: white;
  height: 20px;
}
<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8" />
  <title>demo</title>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
</head>

<body>

  <button>Run</button>
  <div id='demo'>
    <p>

    </p>
    <p>
      Lorem Ipsum .....
    </p>
  </div>

</body>

</html>

  1. 将filter()与html()和trim()
  2. 一起使用
  3. trim()删除空格

答案 1 :(得分:0)

$('#demo p').each(function(){
 if(!$(this).text() || !$(this).text().trim())
   $(this).remove();
})