Javascript:更改elemnt的ID

时间:2018-04-04 11:12:58

标签: javascript jquery html

我有这个元素:

<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>');

但它不起作用。

3 个答案:

答案 0 :(得分:2)

我看到你正在使用jQuery:你可以使用.attr函数,如下所示:

$('#my-id').attr('id', 'my-new-id')

参考:https://api.jquery.com/attr/

答案 1 :(得分:1)

我不知道你为什么需要jQuery来改变元素的id。这是香草javascript

var myNewElement = myElement.cloneNode(false)

您是否也需要克隆元素?

var myNewElement = myElement.cloneNode(true)

你是否需要所有内部html(所以孩子们)?

length

答案 2 :(得分:0)

您可以进行一些更正

  • 您可以通过 id本身
  • 来到达要克隆的元素 当您直接使用其HTML时,
  • 无需克隆

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 );