2012-01-13 33 views
92

Làm thế nào tôi có thể lấy thuộc tính tên của phần tử HTML bằng jQuery?Tôi có thể lấy tên phần tử bằng jQuery như thế nào?

+0

một số html hoặc thậm chí thêm một chút thông tin về phần 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

+3

Sử dụng '.prop()' để lấy các thuộc tính và '.attr()' để lấy các thuộc tính. Không sử dụng '.attr()' để nhận thuộc tính như mọi người đề xuất. Chúng tôi đang làm việc với JavaScript ở đây, không phải là đánh dấu HTML. –

+10

Điều này sẽ được mở lại. Asker nên được khen thưởng để nhận được điểm và không prefacing với một cái gì đó như "Tôi có trang web này, nơi ..." – cantera

Trả lời

150

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

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

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

+6

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ó lý do nào để thích attr ('name') hơn prop ('name') không? – dallin

9
$('someSelectorForTheElement').attr('name'); 
+0

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

+1

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

2
var name = $('#myElement').attr('name'); 
7

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

Điều này không khác biệt đối với 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 jQuery phương pháp, sau đó bạn muốn sử dụng phương pháp .prop().

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

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

+0

tôi nghĩ rằng 'prop()' là cho các thuộc tính boolean như 'checked' không cho thuộc tính –

+2

@NicolaPeluchetti:' .prop() 'là cho bất kỳ thuộc tính nào trên phần tử DOM. '.attr()' là một phương pháp rất lộn xộn đã thay đổi hành vi của nó giữa các bản phát hành khác nhau, đôi khi cho bạn thuộc tính, lần khác thuộc tính. Dù bằng cách nào, có một sự khác biệt giữa các thuộc tính và các 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. –

+2

@NicolaPeluchetti: [Đây là một ví dụ] (http://jsfiddle.net/u35MG/) minh họa sự khác biệt giữa các thuộc tính và thuộc tính. –

0

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

$('#myelement').attr('name'); 
1

Chơi xung quanh với điều này jsFiddle example:

HTML:

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

jQuery:

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

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

Phương thức này sử dụng giá trị của phần tử đầu tiên trong tập hợp phù hợp.

Trong khi không cụ thể jQuery, kết quả được hiển thị dưới dạng alert prompt và được ghi vào console của trình duyệt.

Các vấn đề liên quan