使用嵌套的另一个标记更改HTML标记内的文本

时间:2014-01-26 15:56:53

标签: javascript jquery

我在谈论以这种方式安排的跨度 -

 <span class="x">
  <span class="y"></span> my text
 </span>

有没有办法更改此文本而不将其包装在另一个标签内?

4 个答案:

答案 0 :(得分:1)

这样的事情:

document.getElementsByClassName('y')[0].nextSibling.nodeValue = 'some other text';

FIDDLE

答案 1 :(得分:1)

之前已经提出并回答了您的问题。 检查this

您的问题的JQuery解决方案是:

$('.x').get(0).lastChild.nodeValue = " some-text-2";

但无论如何,这是完整的答案:

<强> HTML

<div class='x'>
  <span class='y'></span>
  some-text-1

<强> JS

  $('.x').get(0).lastChild.nodeValue = " some-text-2";

Fiddle

答案 2 :(得分:0)

如果您想使用jQuery更改评论,则需要使用.contents()并查看node-type 8进行评论。

答案 3 :(得分:0)

除了来自adeneo的原生javascript解决方案之外,这是另一个基于 Jquery 的答案。

$(".x").contents().filter(function() {
  return this.nodeType == 3;
}).text('blah');