2

使用 jQuery 我想更改页面中元素的 ID 之一,一个 div,并给它一个新的。我不能使用类,必须是 ID。这将是 IF 语句的一部分,例如:(伪 :)

如果 x = 大于 1,则将 x 的 id 更改为 y 否则什么也不做

到目前为止,我有:

$('#carriage-promo').attr('id','#carriage-promo-2');

但是,这似乎不起作用。有什么建议么?

我从来没有使用过 ID,总是使用类,我使用 addClass 和 removeClass,这在过去一直对我有用!

4

4 回答 4

6
$('#carriage-promo').attr('id','#carriage-promo-2');

不需要#。所以删除它

$('#carriage-promo').attr('id','carriage-promo-2');

或者你可以使用.prop()

$('#carriage-promo').prop('id','carriage-promo-2');

查看jsperf中的执行测试用例

这是一个示例小提琴

于 2013-09-05T08:08:43.847 回答
2

尝试

$('#carriage-promo').attr('id','carriage-promo-2');
于 2013-09-05T08:10:14.807 回答
1

只需应用您要更新的字符串。

$('#carriage-promo').attr('id','carriage-promo-2');

为什么因为 '#' 是选择元素,具体Id

ID 是 DOM 特定的并且# 是 Jquery 特定的。

于 2013-09-05T08:10:44.160 回答
1

不需要#,只需使用 id:

$('#carriage-promo').attr('id','carriage-promo-2');

更好用prop()从 Jquery v1.6 开始发生一些变化attr()prop()

$('#carriage-promo').prop('id','carriage-promo-2');

prop()用于属性,attr()用于属性。

于 2013-09-05T08:11:14.103 回答