获取嵌套在jQuery中的元素中的文本

时间:2009-08-31 04:14:42

标签: javascript jquery html string

我有这个DOM结构:

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

我希望能够选择#aa然后将#bb与文本“test test test”分开,因为我需要对文本执行一些字符串操作(替换)。在这种情况下,如何仅选择文本?然后在字符串替换操作之后,我想确保我可以将它合并回#bb并在#aa中。

让我知道最好的方法。感谢

3 个答案:

答案 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)

您可以使用$('#bb')访问bb的内容,然后像这样获取其内容;

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

这会回答你的问题吗?

有关详细信息,请参阅this