2014-08-28 57 views
1

我有一個名爲MYCELL的變量,它是一個表內的reference to a td結合使用.not()和.empty()

的TD看來,現在,我希望replace該字符串abcdef但保留鏈接如下

<td> 
     abc 
     <a href="#" class=".myLinkClass">edit</a> 
    </td> 

。 我想我可以使用下面的代碼:

 MYCELL.not(".myLinkClass").empty(); 
     MYCELL.append("def"); 

empty()清除整個細胞。 在此基礎上link我選擇使用一個選擇我.not()聲明

 MYCELL.not(MYCELL.find(".myLinkClass")).empty(); 

內如何empty (including other html-tags)一切都在我的TD任何想法,不刪除任何鏈接(<a href>)或與類.myLinkClass任何元素?

謝謝您的時間

+0

http://stackoverflow.com/的可能的複製question/6156470/jquery-setting-an-elements-text-only-without-removing-other-element-anchor – SSA 2014-08-28 09:27:57

+0

@SSA不完全。在提供的解決方案中,textvalue始終是最後一個孩子。在我的情況下,我的'td'可以包含很多東西(包括其他html標籤\元素),這些東西都必須被刪除。問題不僅限於簡單地替換文本 – User999999 2014-08-28 09:31:39

回答

3

您需要使用contents(),以確保您可以選擇文本節點,以及:

MYCELL.contents().filter(function() { 
    return !$(this).is("a"); // Only select nodes where are not <a> tags 
}).remove(); // Use .remove instead 

jsFiddle

+1

謝謝你爲我工作出色! – User999999 2014-08-28 09:35:02