2015-09-05 105 views
3

有沒有一種使用javascript來查找特定字符串並刪除其html元素的方法。 例如,我有這樣的html代碼如下:在div中查找特定的字符串並刪除它的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

+0

jQuery的也是有效的。 –

回答

1

你的小提琴非常接近。這是從DOM中刪除元素的更新版本。

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

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

0

使用JQuery,你可以那樣做:

$('.summary ul').children().each(function() { 
    if($(this).text() == searchedValue) { 
     $(this).hide(); 
    } 
}) 
+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

比我的效率更高! GJ :) –

1

Iterrate在li元素,檢查文本內容是搜索值,然後隱藏或刪除元素。

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

}); 
相關問題