addID trong jQuery?


87

Có bất kỳ phương pháp nào có sẵn để thêm ID như cách thêm một lớp - addClass () không?


addClass () không phải là một bộ chọn. Bộ chọn là một cái gì đó được định nghĩa là (các) phần tử trước khi làm điều gì đó với / với nó. addClass () là một phương thức, một cái gì đó có một hành động đối với một cái gì đó.
Phish

1
bạn có thể thay thế từ 'selector' cho 'functionnality' trong câu hỏi của bạn không?
Milche Patern

Có thể có bản sao của việc Thêm thuộc tính trong jQuery
Makyen

Câu trả lời:


183

ID là một thuộc tính, bạn có thể đặt nó bằng hàm attr :

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

Tôi không rõ ý bạn về việc thêm ID vì một phần tử chỉ có thể có một số nhận dạng và số nhận dạng này phải là duy nhất.


1
Tôi không chắc điều này trả lời câu hỏi như thế nào. Điều này không có thêm một id, nó đặt một, mà có thể là một sự khác biệt lớn nếu bạn đang sử dụng ID động
Ian S

Giải thích của tôi về câu hỏi: nhìn vào <div>không có ID và nếu vì lý do nào đó bạn không thể thêm id bằng tay, bạn có thể muốn tự động thêm ID bằng Javascript / jQuery.
PJ Brunet

13

ý bạn là một phương pháp?

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

Chỉ cần lưu ý rằng bạn không đặt nhiều phần tử vào cùng một ID.


9

Như thế này :

var id = $('div.foo').attr('id');
$('div.foo').attr('id', id + ' id_adding');
  1. lấy ID thực tế
  2. đặt ID actuel và thêm cái mới

Tôi không chắc đây là những gì OP muốn ... nhưng quan trọng hơn là chỉ có thể có 1 idgiá trị thuộc tính. Cụ thể hơn các thông số kỹ thuật cho một idthuộc tính chỉ ra rõ ràng rằng nó có thể không chứa khoảng trắng: w3.org/TR/html401/types.html#type-name
scunliffe

1

Tôi đã sử dụng một cái gì đó như thế này trước đây để giải quyết mối quan tâm @scunliffes. Nó tìm tất cả các trường hợp của các mục có lớp (trong trường hợp này là .button), và gán một ID và gắn chỉ mục của nó vào tên id:

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

Vì vậy, giả sử bạn có 3 mục có tên lớp là .button trên một trang. Kết quả sẽ là thêm một ID duy nhất cho tất cả chúng (ngoài lớp "nút" của chúng).

Trong trường hợp này, lần lượt là # button-0, # button-1, # button-2. Điều này có thể rất hữu ích. Chỉ cần thay thế ".button" ở dòng đầu tiên bằng bất kỳ lớp nào bạn muốn nhắm mục tiêu và thay thế "nút" trong câu lệnh trả về bằng bất kỳ thứ gì bạn muốn ID duy nhất của mình. Hi vọng điêu nay co ich!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.