代码之家  ›  专栏  ›  技术社区  ›  Garfield

使用jQuery批量更改HTML内容

  •  1
  • Garfield  · 技术社区  · 14 年前

    td s、 ids=row[0],row[2]row[4]依此类推。

    <td id="row[4]">02:45</td>
    <td id="row[6]">03:45</td>
    

    其中的内容是像03:45、04:45这样的时间,我想使用jQuery将其更改为03:15、04:15等。

    最后我得到了这个:

     jQuery('td[id^="row"]').each(function(){
        min = parseInt(jQuery(this).text().substr(3,2)) + 30;
        min %= 60;
        new_time = jQuery(this).text().substr(0,3) + min;
        jQuery(this).text(new_time);
      });
    

    现在有更整洁的方法吗?

    4 回复  |  直到 14 年前
        1
  •  3
  •   Sarfraz    14 年前

    您可以使用以选择器开头 ^

    $('td[id^="row"]').each(function(){
       $(this).text('your text...');
    });
    

    上面的代码在每个 td id 开始于 row .

        2
  •  1
  •   sharat87    14 年前

    另一个解决方案。。因为你只想改变 td

    $('#myTable td').text( function (i, oldValue) {
        return oldValue.replace('45', '15');
    });
    

    您也可以使用@Sarfaz建议的选择器。

    未经测试,但我相信它应该有效。

        3
  •  1
  •   Garfield    14 年前

    谢谢你的回复。。。我最终得到了这个。。。现在有更整洁的方法吗?

     jQuery('td[id^="row"]').each(function(){
        min = parseInt(jQuery(this).text().substr(3,2)) + 30;
        min %= 60;
        new_time = jQuery(this).text().substr(0,3) + min;
        jQuery(this).text(new_time);
      });
    
        4
  •  0
  •   Isaac Lubow    14 年前

    这取决于 怎样

    $('#your_id').html('text or HTML string here');
    

    $('#your_id').text('text or HTML string here');
    

    仅替换其中的文本。