Javascript 如何更改字符串中的id
我有一个js vars: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
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字符串。发布您尝试过的内容。我更新了我的帖子;