2009-08-31 39 views
1

我有這樣的DOM結構:獲取嵌套文本元素內的jQuery

<span id="aa"><a id="bb">myname</a> test test test</span> 

我希望能夠選擇#AA再拆從文本「測試測試測試」 #bb走,因爲我需要用文本執行一些字符串操作(替換)。在這種情況下,我該如何選擇文本?然後在字符串替換操作之後,我想確保我可以將它合併回#bb和#aa中。

讓我知道最好的方法。由於

回答

2

您可以暫時刪除DOM元素:

$(function() { 
    var $aa = $('#aa'), 
     $bb = $('#bb'); 
    $bb.remove(); // remove bb 
    $aa.text($aa.text().replace(/test/g, 'replaced')); // text manipulations on aa 
    $bb.prependTo($aa); // restore the removed element 
}); 

remove函數刪除從DOM元素,但該元素將仍然可以在jQuery對象上,讓您進一步使用它。

檢查示例here

+0

這是完美的!謝謝 – 2009-08-31 05:06:18

1

如果我理解正確的,你這是你想要做什麼:

var bb = $('#bb'); 
var foo = bb.clone(); 
bb.remove(); 

// ... do whatever you like with #aa here 

// restore #bb element 
$('#aa').prepend(foo); 

如果你想修改#bb的內容,那就更簡單了:

var bb = $('#bb'); 
var text = bb.text(); 

// ... do whatever you like with text here 

// save new text 
bb.text(text); 
0

您可以訪問bb的內容使用$('#bb'),然後像這樣獲取它的內容;

$bb('#bb').text(); 

這是否回答您的問題?

有關更多信息,請參閱this