2011-06-07 159 views
2

我可以使用jQuery刪除div內的部分文本。jquery部分刪除文本

像這樣:

<div class="entry"> 
Published May 18th 2011 - Approuved - Expire May 18 th 2012<br>Source: SuperSite 
</div> 

我想刪除Approuved - 過期5月18日2012

那麼結果將是:

<div class="entry"> 
    Published May 18th 2011 <br>Source: SuperSite 
    </div> 
+0

div的內容是動態的還是靜態的? – 2011-06-07 10:06:17

+0

動態爲日期「2011年5月18日」,「2012年5月18日」和「超級站點」 – user472285 2011-06-07 10:09:43

回答

7

您可以使用jQuery選擇你的元素/ HTML,但JavaScript有一個內置函數replace,將做你所需要的:

$('div.entry').html($('div.entry') 
          .html() 
          .replace('Approuved - Expire May 18 th 2012', '')) 

或者使用RegExp

如果你想用Approuved - Expire隨時更換開始什麼:

$('div.entry').html($('div.entry') 
          .html() 
          .replace(/Approuved - Expire[^<]*/, '')) 
+0

如果日期可以更改會怎麼樣? – user472285 2011-06-07 10:07:52

+0

你可以使用正則表達式。 – manji 2011-06-07 10:09:44

0
$(".entry").html(($(".entry").html().replace("Approuved - Expire May 18 th 2012",""))) 
+0

2012年5月18日是動態的 – user472285 2011-06-07 10:23:04

1

試試這個:

$(".entry").html(function(i, htm){ 
    return htm.split("-")[0]; 
}); 

HTML()也有一個函數傳遞給它,如果y您想要在節點內處理HTML,然後重置它。

下面是關於jsfiddle的演示:http://jsfiddle.net/nKJWn/

+0

我想保留來源:SuperSite – user472285 2011-06-07 10:14:15