Làm cách nào tôi có thể nhận được tên của phần tử với jQuery?


130

Làm cách nào tôi có thể có được thuộc tính tên của phần tử HTML với jQuery?


một số html hoặc thậm chí thêm một chút thông tin về yếu tố bạn muốn tên sẽ giúp chúng tôi cung cấp cho bạn câu trả lời cụ thể hơn.
Patricia

4
Sử dụng .prop()để có được các thuộc tính và .attr()để có được các thuộc tính. Đừng sử dụng .attr()để có được một tài sản như mọi người gợi ý. Chúng tôi đang làm việc với JavaScript ở đây, không phải đánh dấu HTML.

11
Điều này nên được mở lại. Asker nên được khen thưởng khi đi đến điểm và không mở đầu bằng một cái gì đó như "Tôi có trang web này ở đâu ..."
cantera

@ cantera25: cảm ơn vì đã chỉ ra điều này ..
Poonam Bhatt

Câu trả lời:


221

Bạn nên sử dụng attr('name')như thế này

 $('#yourid').attr('name')

bạn nên sử dụng bộ chọn id, nếu bạn sử dụng bộ chọn lớp, bạn gặp phải sự cố vì bộ sưu tập được trả về


8
Tôi chỉ nhận được các giá trị không xác định khi tôi sử dụng giá trị này hoặc .prop ()
HorusKol

1
Có bất kỳ lý do để thích attr ('name') hơn prop ('name') không?
dallin

Tôi đã sử dụng $(this).attr('name');trên một bộ chọn lớp $('.jobSelect').change(function() {và tôi đã không gặp phải vấn đề.
Ömer

14

Để đọc một thuộc tính của một đối tượng bạn sử dụng .propertyNamehoặc ["propertyName"]ký hiệu.

Điều này không khác nhau cho các yếu tố.

var name = $('#item')[0].name;
var name = $('#item')[0]["name"];

Nếu bạn đặc biệt muốn sử dụng jQuerycác phương thức, thì bạn sẽ sử dụng .prop()phương thức đó.

var name = $('#item').prop('name');

Xin lưu ý rằng các thuộc tính và thuộc tính không nhất thiết phải giống nhau.


tôi nghĩ prop()là dành cho các thuộc tính boolean như checkedkhông dành cho các thuộc tính
Nicola Peluchetti

2
@NicolaPeluchetti: .prop()dành cho bất kỳ thuộc tính nào trên phần tử DOM. .attr()là một phương thức rất bối rối đã thay đổi hành vi của nó giữa các bản phát hành khác nhau, đôi khi cung cấp cho bạn thuộc tính, lần khác là thuộc tính. Dù bằng cách nào, có một sự phân biệt giữa các thuộc tính và thuộc tính cần được quan sát bằng cách sử dụng phương pháp thích hợp.

3
@NicolaPeluchetti: Đây là một ví dụ minh họa sự phân biệt giữa các thuộc tính và thuộc tính.

10
$('someSelectorForTheElement').attr('name');

bạn nên sử dụng bộ chọn id, nếu bạn sử dụng bộ chọn lớp bạn gặp phải sự cố vì bộ sưu tập được trả về
Nicola Peluchetti

2
id sẽ là cụ thể nhất có, nhưng với html của họ và thiếu chi tiết hoàn toàn trong câu hỏi, thật khó để nói họ nên sử dụng công cụ chọn nào.
Patricia

5

Chơi xung quanh với ví dụ jsFiddle này :

HTML:

<p id="foo" name="bar">Hello, world!</p>

jQuery:

$(function() {
    var name = $('#foo').attr('name');

    alert(name);
    console.log(name);
});

Điều này sử dụng phương thức .attr () của jQuery để lấy giá trị cho phần tử đầu tiên trong tập hợp khớp.

Mặc dù không cụ thể là jQuery, kết quả được hiển thị dưới dạng lời nhắc cảnh báo và được ghi vào bảng điều khiển của trình duyệt .



0

Phương thức .attr () cho phép nhận giá trị thuộc tính của phần tử đầu tiên trong đối tượng jQuery:

$('#myelement').attr('name');
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.