在div中查找特定字符串并删除其html元素

时间:2015-09-05 17:55:31

标签: javascript jquery html

有没有办法使用javascript查找特定字符串并删除其'html元素。 例如,我有以下html代码:

<div class="summary">
List of texts:
  <ul>
   <li>Text 0</li>
   <li>Text 1</li>
   <li>Text 2</li>
   <li>Text 3</li> 
   <li>Text 4</li>
   <li>Text 5</li>
  </ul>
</div>

我想要隐藏“文本2”,首先我想找到这个字符串然后隐藏它。 我试过的是使用html()。替换但它只隐藏文本而不是元素。 JSFiddle

4 个答案:

答案 0 :(得分:7)

在jQuery中有:contains

$('.summary li:contains(Text 2)').hide();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="summary">
List of texts:
  <ul>
   <li>Text 0</li>
   <li>Text 1</li>
   <li>Text 2</li>
   <li>Text 3</li> 
   <li>Text 4</li>
   <li>Text 5</li>
  </ul>
</div>

答案 1 :(得分:1)

对li元素进行迭代,检查文本内容是否为搜索值,然后隐藏或删除元素。

 $(function() {
  $('.summary li').each(function() {
   var $this = $(this);
   if($this.text() === 'Text 2'){$this.hide();}
  });

});

答案 2 :(得分:1)

你的小提琴非常接近。这是从DOM中删除元素的更新版本。

$('.summary li').each(function() {
   var $this = $(this);
   if ($this.text() === 'Text 2') {
       $this.remove();
   }
});

http://jsfiddle.net/sLa3dkdd/3/

答案 3 :(得分:0)

使用JQuery你可以这样做:

$('.summary ul').children().each(function () {
    if($(this).text() == searchedValue) {
        $(this).hide(); 
    }
})