2013-10-20 35 views
1

如何查找字符串並使用jQuery將其包裝爲span?例如,使用jQuery替換帶span的文本字符串

<p> 
    <span class="span1">afijaifjiaj</span> 
    ajfijaogoag 
    <span class="span1">afijaifjiaj</span> 
    aokaodgg 
    <span class="span1">afijaifjiaj</span> 
</p> 

我希望把它作爲:

<p> 
    <span class="span1">afijaifjiaj</span> 
    <span class="span2">ajfijaogoag</span> 
    <span class="span1">afijaifjiaj</span> 
    <span class="span2">aokaodgg</span> 
    <span class="span1">afijaifjiaj</span> 
</p> 
+0

嘗試使用這個選擇:$( '*:包含了( 「我是一個簡單的字符串」)'); –

回答

2

試試這個: http://jsfiddle.net/3nxjk/http://jsfiddle.net/3nxjk/3/

nodeType - 3表示元素或屬性中的文本內容。

$(this).text().trim()修剪空白並檢查有效的字符串。

休息應該適合你的需要:)

代碼

$(document).ready(function() { 
    $("p").contents().filter(function() { 
     return this.nodeType === 3 && $(this).text().trim() != ""; 
    }).wrap('<span class="span2">'); 

    alert($('p').html()); 
}); 
+0

'nodeType === 3'是什麼意思? – Dvir

+0

@Dvir **檢查一下**:https://developer.mozilla.org/en-US/docs/Web/API/Node.nodeType?redirectlocale=en-US&redirectslug=DOM%2FNode.nodeType':)' nodeType屬性返回指定節點的節點類型(以數字形式)。 –

+1

我看到謝謝。 – Dvir

0

我真的不知道jQuery的,所以這裏的用純JavaScript的方式:

var stringToReplace='randomtext'; 
dpcument.body.innerHTML=document.body.innerHTML.replace(stringToReplace,'<span>'+stringToReplace+'</span>');