我有这个DOM结构:
<span id="aa"><a id="bb">myname</a> test test test</span>
我希望能够选择#aa然后将#bb与文本“test test test”分开,因为我需要对文本执行一些字符串操作(替换)。在这种情况下,如何仅选择文本?然后在字符串替换操作之后,我想确保我可以将它合并回#bb并在#aa中。
让我知道最好的方法。感谢
答案 0 :(得分: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。
答案 1 :(得分: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);
答案 2 :(得分:0)