我有这个元素:
<table id="listeCalOp"><tbody><tr><td><input name="calOp_date_debut_0" id="calOp_date_debut_0" value="" type="></tr></td></tbody></table>
我已将 calOp_date_debut_0 更改为 calOp_date_debut_22 。
我试试这段代码:
var markup = $('<tr>' + $('#listeCalOp').children('tbody:first').find('tr:first').clone().html().replace("calOp_date_debut_0",'calOp_date_debut_22') + '</tr>');
但它不起作用。
答案 0 :(得分:2)
我看到你正在使用jQuery:你可以使用.attr
函数,如下所示:
$('#my-id').attr('id', 'my-new-id')
答案 1 :(得分:1)
我不知道你为什么需要jQuery来改变元素的id。这是香草javascript
var myNewElement = myElement.cloneNode(false)
您是否也需要克隆元素?
var myNewElement = myElement.cloneNode(true)
你是否需要所有内部html(所以孩子们)?
length
答案 2 :(得分:0)
您可以进行一些更正
即
var markup = $('<tr>' + $('#calOp_date_debut_0').html().replace("calOp_date_debut_0",'calOp_date_debut_22') + '</tr>');
或者您可以对该元素使用clone
,然后将该元素附加到tr
var $newEl = $('#calOp_date_debut_0').clone();
$newEl.attr( "id", "calOp_date_debut_22" );
var markup = $("<tr></tr>").append( $newEl );