2012-07-09 65 views
0

如何通過的jQuery或Javascript來得到這個輸出:如何通過類名刪除沒有內容的html元素?

HTML:

This is a <span class="getClass" >test</span> for javascript and jquery Then suppose <span class="getClass" >it</span>. how can i change it in multiple line <span class="getClass" >look</span> like this

輸出:

This is a test for javascript and jquery

我已經嘗試了一些代碼,但它不工作,像:

<Script> 
     $('.getClass').unwrap(); 
</script> 

但它刪除父元素而不是元素本身。

我只是有類選擇器訪問元素,並希望刪除整個元素。我無法閱讀元素內的文字。

謝謝。

+1

你的標題說, 「刪除一些」,但是你的主體文本沒有提到「某些」。你的意思是應該刪除所有的標籤嗎? – 2012-07-09 12:16:50

+0

對不起,我只是想刪除span元素周圍。我無法得到測試。我只需訪問 – Danial 2012-07-09 12:25:04

+0

元素的類名稱即可。因此,如果文本是什麼: 這是一個測試
另一個測試
對JavaScript和jQuery ? – 2012-07-09 12:27:48

回答

1

試試這個,

Live Demo

$('.getClass').replaceWith($('.getClass').text()); 

如果你不想改變DOM,但只需要得到不span標記文本,然後你可以使用

$('.getClass').text(); 
+0

好吧,其實我想看起來像這樣,但問題是,我有多個'getClass'與不同的文本。 – Danial 2012-07-09 12:37:30

+1

$('。findedColor')。replaceWith(function() { return $(this).text(); }); – Danial 2012-07-09 12:39:53

+0

那你有什麼標準來區分類名爲.getClass的元素? – Adil 2012-07-09 12:45:30

0

基本上,你只需要文本。使用.text獲得將自動剝離所有標籤的文本。通過使用.text來設置文本以及您有效地刪除它們:http://jsfiddle.net/s4DJP/

$("...").text(function(i, text) { 
    return text; 
}); 
+0

你可以給我這個HTML腳本? – Danial 2012-07-09 12:29:09

+0

@Danial:http://jsfiddle.net/s4DJP/3/。只要把它放在一個容器元素中,並將其設置爲文本。 – pimvdb 2012-07-09 12:30:36

+0

它不工作,我試過了 – Danial 2012-07-09 12:43:05

1

你應該能夠將其設置爲文本內容(見text()

$(containerSelector).text(function (_, text) { 
    return text; 
}); 
+0

你能給我腳本這個HTML嗎? – Danial 2012-07-09 12:30:42

+0

@Danial:它取決於你所引用的文本被包含在什麼元素中。你所需要做的就是用一個選擇器替換「containerSelector」來匹配那個元素。 – Matt 2012-07-09 12:33:42

+0

它不工作,我試過了 – Danial 2012-07-09 12:42:58

0

更通用,使用正則表達式:

$().ready(function(){ 
var htmlstr = 'This is a <span class="getClass" >test</span> for javascript and jquery'; 
var regex = /(<([^>]+)>)/ig; 
    var plainstr = htmlstr.replace(new RegExp(regex), ""); 
    alert(plainstr); 
});​ 

​​