jQuery中的addID?


87

是否有任何方法可以添加ID,就像添加类一样-addClass()?


addClass()不是选择器。选择器是在对其进行某些操作之前将其定义为一个或多个元素。addClass()是一种方法,对某物具有作用。
Phish 2014年

1
您可以在问题中将“选择器”一词替换为“功能”吗?
Milche Patern

可能的重复jQuery中添加属性
Makyen

Answers:


183

ID是一个属性,您可以使用attr函数进行设置:

$(element).attr('id', 'newID');

我不确定您添加ID的含义,因为一个元素只能有一个标识符,并且该标识符必须是唯一的。


1
我不确定这如何回答问题。这不会添加ID,而是设置一个ID,如果您使用的是动态ID,则可能会有很大的不同
Ian S

我对问题的解释:查看<div>没有ID,并且由于某种原因如果您无法手动添加ID,则可能要使用Javascript / jQuery自动添加ID。
PJ Brunet

13

你是说一种方法吗?

$('div.foo').attr('id', 'foo123');

请注意不要将多个元素设置为同一ID。


9

像这样 :

var id = $('div.foo').attr('id');
$('div.foo').attr('id', id + ' id_adding');
  1. 获取实际ID
  2. 放入actuel ID并添加新的ID

我不确定这是OP想要的...但是更重要的是只能有1个id属性值。更具体地说,id属性的规范清楚地表明该属性不能包含空格:w3.org/TR/html401/types.html#type-name
scunliffe 2013年

1

我已经使用过类似的方法来解决@scunliffes的问题。它查找具有类(在本例中为.button)的项目的所有实例,并分配一个ID并将其索引附加到ID名称之后:

$(".button").attr('id', function (index) {
	return "button-" + index;
});

假设您在页面上有3个项目,其类名均为.button。结果将为它们所有人添加唯一的ID(除了其“按钮”类之外)。

在这种情况下,分别为#button-0,#button-1,#button-2。这可以派上用场。只需将第一行中的“ .button”替换为您要定位的任何类,然后将return语句中的“ button”替换为您想要的唯一ID。希望这可以帮助!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.