Javascript 如何更改字符串中的id

Javascript 如何更改字符串中的id,javascript,jquery,replace,Javascript,Jquery,Replace,我有一个js vars: tab[1] = '<TR id="1"><TD>1</TD><TD>name</TD><TD >1</TD><TD>100.00</TD></TR>'; tab[2] = '<TR id="2"><TD>2</TD><TD>name</TD><TD >1</TD>&l

我有一个js vars:

tab[1] = '<TR id="1"><TD>1</TD><TD>name</TD><TD >1</TD><TD>100.00</TD></TR>';
tab[2] = '<TR id="2"><TD>2</TD><TD>name</TD><TD >1</TD><TD>100.00</TD></TR>';
tab[3] = '<TR id="5"><TD>5</TD><TD>name</TD><TD >1</TD><TD>100.00</TD></TR>';
tab[4] = '<TR id="7"><TD>7</TD><TD>name</TD><TD >1</TD><TD>100.00</TD></TR>';
如何使用js replace替换每个变量中的ID和第一列

结果应该如下所示:

tab[1] = '<TR id="1"><TD>1</TD><TD>name</TD><TD >1</TD><TD>100.00</TD></TR>';
tab[2] = '<TR id="2"><TD>2</TD><TD>name</TD><TD >1</TD><TD>100.00</TD></TR>';
tab[3] = '<TR id="3"><TD>3</TD><TD>name</TD><TD >1</TD><TD>100.00</TD></TR>';
tab[4] = '<TR id="4"><TD>4</TD><TD>name</TD><TD >1</TD><TD>100.00</TD></TR>';
@编辑

我尝试了简单替换:

`tab[i]=tab[i].replace('id="'+k+'"><TD>'+k+'</TD>', 'id="'+i+'"><TD>'+i+'</TD>');` 

但是id可以是任意数字,所以它并非在所有情况下都有效://

我个人认为最简单的方法是将HTML添加到文档中。例如:

table = document.getElementById('whatIsYourTablesIdBecauseIDontKnow =p');
for (var i = 0; i < table.rows.length; i ++) {
    table.rows[i].id = i + 1;
}

更好的做法是,对于使用ID的任何代码,将其更改为以数字方式选择行;就像我刚才在for循环中所做的那样。

因为您已经在使用jquery:

for (var i = 0; i < tab.length; i ++) {
  tab[i] = $(tab[i]).find("tr").first().attr("id", "id_" + i);
}
它的作用是:

从html字符串创建jquery对象:$tab[i] 查找第一个tr对象:.findtr.first 将对象的属性id设置为id_Ui:.attrid,id_Ui+i 我添加了id,因为它可能被浏览器忽略


这将导致数组包含jquery对象而不是字符串,但您可以像字符串一样将它们添加到DOM中。如果出于某种原因需要将结果作为字符串,您可以添加.html以返回html字符串。

发布您尝试过的内容。我更新了我的帖子;