Jquery:我如何替换第n个孩子

时间:2013-06-19 04:48:27

标签: jquery replace

HTML:

<div id="content">
  <span>SomeContent-->1</span>
  <span>SomeContent-->2</span>
  <span>SomeContent-->3</span>
  <span>SomeContent-->4</span>
  <span>SomeContent-->5</span>
</div>

执行jQuery后的最终结果:

<div id="content">
  <span>OtherContent-->0</span>
  <span>OtherContent-->9</span>
  <span>OtherContent-->8</span>
  <span>OtherContent-->7</span>
  <span>OtherContent-->6</span>
</div>

我已将content元素存储为var elem = document.getElementById('content') 现在,我想通过选择逐个来替换elem的孩子。我尝试使用函数.replaceWith()但是对我不起作用还有其他方法吗?

3 个答案:

答案 0 :(得分:2)

您只需要使用.html()或.text()

 $('span', elem).text(function(index, currentValue){ // or use .html for html content
      return "new value";
  });

  $('span', elem).each(function(){
        this.innerHTML = "newContent"; // or $(this).text('newContent') / $(this).html(newContent)
  });

要替换第n个元素的内容,请使用:

$('span', elem).eq(n).html(newCOntent); // or .text() where n is 0 indexed.

答案 1 :(得分:0)

你可以使用:带有span的eq选择器,如下面的

    $('#content span:eq(1)').text('<text>');

答案 2 :(得分:0)

你可以这样做......

$('#content span').each(function(i, span){$(span).html('OtherContent-->0')})