Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取jQuery中嵌套在元素中的文本_Javascript_Jquery_Html_String - Fatal编程技术网

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

Javascript 获取jQuery中嵌套在元素中的文本,javascript,jquery,html,string,Javascript,Jquery,Html,String,我有这个DOM结构: <span id="aa"><a id="bb">myname</a> test test test</span> 我希望能够选择aa,然后将bb从文本测试中分离出来,因为我需要执行一些字符串操作来替换文本。在这种情况下,如何仅选择文本?然后在字符串替换操作之后,我想确保我可以将它合并回bb和aa中 让我知道最好的方法。谢谢如果我理解正确,这就是你想要做的: var bb = $('#bb'); var foo = bb.c

我有这个DOM结构:

<span id="aa"><a id="bb">myname</a> test test test</span>
我希望能够选择aa,然后将bb从文本测试中分离出来,因为我需要执行一些字符串操作来替换文本。在这种情况下,如何仅选择文本?然后在字符串替换操作之后,我想确保我可以将它合并回bb和aa中


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

如果我理解正确,这就是你想要做的:

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);

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

$bb('#bb').text();
这回答了你的问题吗


有关更多信息,请参阅。

您可以临时删除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
});
该函数从DOM中删除元素,但这些元素在jQuery对象上仍然可用,允许您进一步使用它

检查一个例子