如何通过JQuery删除包含特定文本的div

时间:2016-09-05 13:22:17

标签: jquery

我正在尝试删除包含空格的div。它不起作用请帮助

<div id="contentrow" class="contentrow_afterlhsrhs">
&nbsp;                  </div>
if($('.contentrow_afterlhsrhs').html() == "&nbsp;                   ") {
 $('.contentrow_afterlhsrhs').remove();
}

http://jsfiddle.net/L8dwn/141/

4 个答案:

答案 0 :(得分:1)

这是小提琴:

http://jsfiddle.net/L8dwn/143/

您可以通过删除空间和添加空间来尝试。只有当你的div中有&nbsp;和空格时才会删除你的div。

<!-- This will not remove your div -->
<div id="contentrow" class="contentrow_afterlhsrhs">&nbsp;</div>

并且

<!-- This will remove your div -->
<div id="contentrow" class="contentrow_afterlhsrhs">&nbsp;              </div>

以下是JavaScript代码:

var myContent = $('.contentrow_afterlhsrhs').html();
var trimContent = $.trim(myContent);
var contentWihoutNbsp = myContent.replace('&nbsp;','');

if( trimContent == "&nbsp;" && contentWihoutNbsp ){ 
    $('.contentrow_afterlhsrhs').remove();
}

答案 1 :(得分:0)

使用jquery的$ .trim()函数从字符串中删除不必要的空格。获取div的.html()之后修剪空格并将其与字符串进行比较。

if($.trim($('.contentrow_afterlhsrhs').html()) == "&nbsp;") {
    $('.contentrow_afterlhsrhs').remove();
}

答案 2 :(得分:0)

更简单的方法:

$('.contentrow_afterlhsrhs:contains("\u00a0                     ")').remove();

(你必须使用&nbsp;的unicode表示来表示contains()过滤器。)

编辑:JSFiddle:https://jsfiddle.net/L8dwn/144/

答案 3 :(得分:0)

请检查以下工作代码:

console.log("Before Remove :" + $('.contentrow_afterlhsrhs').html());
if($.trim($('.contentrow_afterlhsrhs').html()) == "&nbsp;") {
  $('.contentrow_afterlhsrhs').remove();
}    
console.log("After Remove :" +$('.contentrow_afterlhsrhs').html());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="contentrow" class="contentrow_afterlhsrhs">
&nbsp;                  
</div>