Bước tiếp theo là sử dụng Element. getAttribute[], trả về giá trị của thuộc tính được chỉ định
Nếu thuộc tính được cung cấp không tồn tại trên phần tử, phương thức getAttribute[]
trả về null
hoặc ""
[chuỗi trống]
Nhận thuộc tính của Nút gốc bằng cách sử dụng gần nhất []
Nếu bạn cần lấy một thuộc tính của phần tử không phải là phần tử cha trực tiếp của nút, bạn có thể sử dụng phương thức recent[] để chọn phần tử
Phương thức closest[]
duyệt qua Element
và cha của nó cho đến khi nó tìm thấy một nút khớp với bộ chọn được cung cấp
Giả sử rằng chúng ta cần chọn div
với
bobbyhadz.com
Child 1
0 của
bobbyhadz.com
Child 1
1 trong ví dụ này
bobbyhadz.com
Child 1
Đây là cách chúng tôi lấy một thuộc tính của phần tử div
bằng JavaScript
Chúng tôi đã sử dụng phương pháp
bobbyhadz.com
Child 1
3 thay vì thuộc tính parentElement
khi chúng tôi đang cố gắng truy cập một thuộc tính trên một phần tử không phải là phần tử gốc trực tiếpNếu chính phần tử khớp với bộ chọn, phần tử được trả về
Nếu không tồn tại phần tử khớp với bộ chọn được cung cấp, phương thức closest[]
trả về null
Phương thức lấy một chuỗi chứa bộ chọn. Bộ chọn được cung cấp có thể cụ thể khi cần thiết
Trong ví dụ trên, chúng tôi đã sử dụng phương pháp closest[]
để chọn một phần tử div
với một
bobbyhadz.com
Child 1
0 của
bobbyhadz.com
Child 1
1, phần tử này có phần tử parentElement
1 là cha của nó Phương thức
0 chỉ nhận giá trị thuộc tính cho phần tử đầu tiên trong tập hợp phù hợp. Để lấy giá trị cho từng phần tử riêng lẻ, hãy sử dụng cấu trúc vòng lặp, chẳng hạn như phương thức
attr demo
em {
color: blue;
font-weight: bold;
}
div {
color: red;
}
Once there was a large dinosaur...
The title of the emphasis is:
var title = $[ "em" ].attr[ "title" ];
$[ "div" ].text[ title ];
1 hoặc
attr demo
em {
color: blue;
font-weight: bold;
}
div {
color: red;
}
Once there was a large dinosaur...
The title of the emphasis is:
var title = $[ "em" ].attr[ "title" ];
$[ "div" ].text[ title ];
2 của jQuery
attr demo
em {
color: blue;
font-weight: bold;
}
div {
color: red;
}
Once there was a large dinosaur...
The title of the emphasis is:
var title = $[ "em" ].attr[ "title" ];
$[ "div" ].text[ title ];
Sử dụng phương thức
0 của jQuery để lấy giá trị thuộc tính của phần tử có hai lợi ích chính
attr demo
em {
color: blue;
font-weight: bold;
}
div {
color: red;
}
Once there was a large dinosaur...
The title of the emphasis is:
var title = $[ "em" ].attr[ "title" ];
$[ "div" ].text[ title ];
- Tiện. Nó có thể được gọi trực tiếp trên một đối tượng jQuery và được kết nối với các phương thức jQuery khác
- Tính nhất quán giữa các trình duyệt. Giá trị của một số thuộc tính được báo cáo không nhất quán giữa các trình duyệt và thậm chí trên các phiên bản của một trình duyệt. Phương pháp
0 làm giảm sự không nhất quán như vậyattr demo
em {
color: blue;
font-weight: bold;
}
div {
color: red;
}
Once there was a large dinosaur...
The title of the emphasis is:
var title = $[ "em" ].attr[ "title" ];
$[ "div" ].text[ title ];
Ghi chú. Giá trị thuộc tính là các chuỗi ngoại trừ một vài thuộc tính như giá trị và chỉ mục tab
Kể từ jQuery 1. 6, phương thức
0 trả về
attr demo
em {
color: blue;
font-weight: bold;
}
div {
color: red;
}
Once there was a large dinosaur...
The title of the emphasis is:
var title = $[ "em" ].attr[ "title" ];
$[ "div" ].text[ title ];
6 cho các thuộc tính chưa được đặt. Để truy xuất và thay đổi các thuộc tính DOM, chẳng hạn như trạng thái
attr demo
em {
color: blue;
font-weight: bold;
}
div {
color: red;
}
Once there was a large dinosaur...
The title of the emphasis is:
var title = $[ "em" ].attr[ "title" ];
$[ "div" ].text[ title ];
7,
attr demo
em {
color: blue;
font-weight: bold;
}
div {
color: red;
}
Once there was a large dinosaur...
The title of the emphasis is:
var title = $[ "em" ].attr[ "title" ];
$[ "div" ].text[ title ];
8 hoặc
attr demo
em {
color: blue;
font-weight: bold;
}
div {
color: red;
}
Once there was a large dinosaur...
The title of the emphasis is:
var title = $[ "em" ].attr[ "title" ];
$[ "div" ].text[ title ];
9 của các phần tử biểu mẫu, hãy sử dụng. phương pháp chống đỡ []
attr demo
em {
color: blue;
font-weight: bold;
}
div {
color: red;
}
Once there was a large dinosaur...
The title of the emphasis is:
var title = $[ "em" ].attr[ "title" ];
$[ "div" ].text[ title ];
Thuộc tính so với. Của cải
Sự khác biệt giữa thuộc tính và thuộc tính có thể quan trọng trong các tình huống cụ thể. Trước jQuery 1. 6, phương pháp
0 đôi khi tính đến các giá trị thuộc tính khi truy xuất một số thuộc tính, điều này có thể gây ra hành vi không nhất quán. Kể từ jQuery 1. 6, phương thức
attr demo
em {
color: blue;
font-weight: bold;
}
div {
color: red;
}
Once there was a large dinosaur...
The title of the emphasis is:
var title = $[ "em" ].attr[ "title" ];
$[ "div" ].text[ title ];
1 cung cấp một cách để truy xuất các giá trị thuộc tính một cách rõ ràng, trong khi phương thức
0 truy xuất các thuộc tính
attr demo
em {
color: blue;
font-weight: bold;
}
div {
color: red;
}
Once there was a large dinosaur...
The title of the emphasis is:
var title = $[ "em" ].attr[ "title" ];
$[ "div" ].text[ title ];
Ví dụ:
3,
4,
5,
6,
7,
8 và
9 nên được truy xuất và đặt bằng phương thức
0. Trước jQuery 1. 6, các thuộc tính này có thể truy xuất được bằng phương pháp
$[ "#greatphoto" ].attr[ "alt", "Beijing Brush Seller" ];
0, nhưng điều này không nằm trong phạm vi của
attr demo
em {
color: blue;
font-weight: bold;
}
div {
color: red;
}
Once there was a large dinosaur...
The title of the emphasis is:
var title = $[ "em" ].attr[ "title" ];
$[ "div" ].text[ title ];
2. Chúng không có thuộc tính tương ứng và chỉ là thuộc tính
$[ "#greatphoto" ].attr[ "alt", "Beijing Brush Seller" ];
Liên quan đến các thuộc tính boolean, hãy xem xét một phần tử DOM được xác định bởi đánh dấu HTML
3 và giả sử nó nằm trong một biến JavaScript có tên là
$[ "#greatphoto" ].attr[ "alt", "Beijing Brush Seller" ];
4
$[ "#greatphoto" ].attr[ "alt", "Beijing Brush Seller" ];
5
$[ "#greatphoto" ].attr[ "alt", "Beijing Brush Seller" ];
6 [Boolean] Sẽ thay đổi với trạng thái hộp kiểm
$[ "#greatphoto" ].attr[ "alt", "Beijing Brush Seller" ];
7
$[ "#greatphoto" ].attr[ "alt", "Beijing Brush Seller" ];
6 [Boolean] Sẽ thay đổi với trạng thái hộp kiểm
$[ "#greatphoto" ].attr[ "alt", "Beijing Brush Seller" ];
9
$[ "#greatphoto" ].attr[ "alt", "Beijing Brush Seller" ];
0 [Chuỗi] Trạng thái ban đầu của hộp kiểm; . 6+]______36_______0 [Chuỗi] Trạng thái ban đầu của hộp kiểm; . 6]
$[ "#greatphoto" ].attr[ "title", "Photo by Kelly Clark" ];
6 [Boolean] Đã thay đổi với trạng thái hộp kiểm
$[ "#greatphoto" ].attr[ "alt", "Beijing Brush Seller" ];
Theo , thuộc tính
7 là một , có nghĩa là thuộc tính tương ứng là đúng nếu thuộc tính đó hoàn toàn tồn tại—ngay cả khi, ví dụ: thuộc tính không có giá trị hoặc được đặt thành giá trị chuỗi trống hoặc thậm chí là "sai". Điều này đúng với tất cả các thuộc tính boolean
attr demo
em {
color: blue;
font-weight: bold;
}
div {
color: red;
}
Once there was a large dinosaur...
The title of the emphasis is:
var title = $[ "em" ].attr[ "title" ];
$[ "div" ].text[ title ];
Tuy nhiên, khái niệm quan trọng nhất cần nhớ về thuộc tính
7 là nó không tương ứng với thuộc tính
attr demo
em {
color: blue;
font-weight: bold;
}
div {
color: red;
}
Once there was a large dinosaur...
The title of the emphasis is:
var title = $[ "em" ].attr[ "title" ];
$[ "div" ].text[ title ];
7. Thuộc tính thực sự tương ứng với thuộc tính
attr demo
em {
color: blue;
font-weight: bold;
}
div {
color: red;
}
Once there was a large dinosaur...
The title of the emphasis is:
var title = $[ "em" ].attr[ "title" ];
$[ "div" ].text[ title ];
8 và chỉ nên được sử dụng để đặt giá trị ban đầu của hộp kiểm. Giá trị thuộc tính
7 không thay đổi theo trạng thái của hộp kiểm, trong khi thuộc tính
attr demo
em {
color: blue;
font-weight: bold;
}
div {
color: red;
}
Once there was a large dinosaur...
The title of the emphasis is:
var title = $[ "em" ].attr[ "title" ];
$[ "div" ].text[ title ];
7 thì không. Do đó, cách tương thích với nhiều trình duyệt để xác định xem hộp kiểm có được chọn hay không là sử dụng thuộc tính
attr demo
em {
color: blue;
font-weight: bold;
}
div {
color: red;
}
Once there was a large dinosaur...
The title of the emphasis is:
var title = $[ "em" ].attr[ "title" ];
$[ "div" ].text[ title ];
1$[ "#greatphoto" ].attr[{
alt: "Beijing Brush Seller",
title: "photo by Kelly Clark"
}];
2$[ "#greatphoto" ].attr[{
alt: "Beijing Brush Seller",
title: "photo by Kelly Clark"
}];
3$[ "#greatphoto" ].attr[{
alt: "Beijing Brush Seller",
title: "photo by Kelly Clark"
}];
Điều này cũng đúng với các thuộc tính động khác, chẳng hạn như
8 và
attr demo
em {
color: blue;
font-weight: bold;
}
div {
color: red;
}
Once there was a large dinosaur...
The title of the emphasis is:
var title = $[ "em" ].attr[ "title" ];
$[ "div" ].text[ title ];
5
$[ "#greatphoto" ].attr[{
alt: "Beijing Brush Seller",
title: "photo by Kelly Clark"
}];
Ghi chú bổ sung
- Trong Internet Explorer trước phiên bản 9, việc sử dụng
0 để đặt thuộc tính phần tử DOM thành bất kỳ giá trị nguyên thủy đơn giản nào [số, chuỗi hoặc boolean] có thể gây rò rỉ bộ nhớ nếu thuộc tính không bị xóa [sử dụng$[ "#greatphoto" ].attr[ "alt", "Beijing Brush Seller" ];
7] trước phần tử DOM . Để đặt các giá trị một cách an toàn trên các đối tượng DOM mà không bị rò rỉ bộ nhớ, hãy sử dụng$[ "#greatphoto" ].attr[{
alt: "Beijing Brush Seller",
title: "photo by Kelly Clark"
}];
8$[ "#greatphoto" ].attr[{
alt: "Beijing Brush Seller",
title: "photo by Kelly Clark"
}];
ví dụ
Hiển thị thuộc tính đã chọn và thuộc tính của hộp kiểm khi nó thay đổi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
attr demo
p {
margin: 20px 0 0;
}
b {
color: blue;
}
Check me
$[ "input" ]
.change[function[] {
var $input = $[ this ];
$[ "p" ].html[ ".attr[ 'checked' ]: " + $input.attr[ "checked" ] + "
" +
".prop[ 'checked' ]: " + $input.prop[ "checked" ] + "
" +
".is[ ':checked' ]: " + $input.is[ ":checked" ] + "" ];
}]
.change[];
Thử nghiệm
Find the title attribute of the first in the page.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
attr demo
em {
color: blue;
font-weight: bold;
}
div {
color: red;
}
Once there was a large dinosaur...
The title of the emphasis is:
var title = $[ "em" ].attr[ "title" ];
$[ "div" ].text[ title ];
Thử nghiệm
.attr[ attributeName, value ]Trả về.
Sự miêu tả. Đặt một hoặc nhiều thuộc tính cho tập hợp các phần tử phù hợp
phiên bản được thêm vào. 1. 0
tên thuộc tính
Loại.
Tên thuộc tính cần đặt
giá trị
Loại. hoặc hoặc
Một giá trị để đặt cho thuộc tính. Nếu
9, thuộc tính được chỉ định sẽ bị xóa [như trong$[ "#greatphoto" ].attr[{
alt: "Beijing Brush Seller",
title: "photo by Kelly Clark"
}];
0]$[ "#greatphoto" ].attr[ "title", function[ i, val ] {
return val + " - photo by Kelly Clark";
}];
phiên bản được thêm vào. 1. 0
thuộc tính
Loại.
Một đối tượng của các cặp thuộc tính-giá trị để đặt
phiên bản được thêm vào. 1. 1
tên thuộc tính
Loại.
Tên thuộc tính cần đặt
hàm số
Loại. [ chỉ mục, attr ] => hoặc
Một hàm trả về giá trị được đặt.
1 là phần tử hiện tại. Nhận vị trí chỉ mục của phần tử trong tập hợp và giá trị thuộc tính cũ làm đối số$[ "#greatphoto" ].attr[ "title", function[ i, val ] {
return val + " - photo by Kelly Clark";
}];
Phương thức
0 là một cách thuận tiện để đặt giá trị của các thuộc tính—đặc biệt là khi đặt nhiều thuộc tính hoặc sử dụng các giá trị do một hàm trả về. Hãy xem xét hình ảnh sau đây
attr demo
em {
color: blue;
font-weight: bold;
}
div {
color: red;
}
Once there was a large dinosaur...
The title of the emphasis is:
var title = $[ "em" ].attr[ "title" ];
$[ "div" ].text[ title ];
1
Đặt thuộc tính đơn giản
Để thay đổi thuộc tính
3, chỉ cần chuyển tên của thuộc tính và giá trị mới của nó cho phương thức
$[ "#greatphoto" ].attr[ "title", function[ i, val ] {
return val + " - photo by Kelly Clark";
}];
0
attr demo
em {
color: blue;
font-weight: bold;
}
div {
color: red;
}
Once there was a large dinosaur...
The title of the emphasis is:
var title = $[ "em" ].attr[ "title" ];
$[ "div" ].text[ title ];
1
$[ "#greatphoto" ].attr[ "alt", "Beijing Brush Seller" ];
Thêm một thuộc tính theo cùng một cách
1
$[ "#greatphoto" ].attr[ "title", "Photo by Kelly Clark" ];
Đặt nhiều thuộc tính cùng một lúc
Để thay đổi thuộc tính
3 và thêm thuộc tính
$[ "#greatphoto" ].attr[ "title", function[ i, val ] {
return val + " - photo by Kelly Clark";
}];
6 cùng một lúc, hãy chuyển cả hai bộ tên và giá trị vào phương thức cùng một lúc bằng cách sử dụng một đối tượng JavaScript đơn giản. Mỗi cặp khóa-giá trị trong đối tượng thêm hoặc sửa đổi một thuộc tính
$[ "#greatphoto" ].attr[ "title", function[ i, val ] {
return val + " - photo by Kelly Clark";
}];
1
2
3
4
$[ "#greatphoto" ].attr[{
alt: "Beijing Brush Seller",
title: "photo by Kelly Clark"
}];
Khi đặt nhiều thuộc tính, dấu ngoặc kép xung quanh tên thuộc tính là tùy chọn
CẢNH BÁO. Khi đặt thuộc tính 'lớp', bạn phải luôn sử dụng dấu ngoặc kép
Ghi chú. Cố gắng thay đổi thuộc tính
7 trên một phần tử
$[ "#greatphoto" ].attr[ "title", function[ i, val ] {
return val + " - photo by Kelly Clark";
}];
8 hoặc
$[ "#greatphoto" ].attr[ "title", function[ i, val ] {
return val + " - photo by Kelly Clark";
}];
9 được tạo qua
$[ "#greatphoto" ].attr[ "title", function[ i, val ] {
return val + " - photo by Kelly Clark";
}];
0 sẽ tạo ra một ngoại lệ trên Internet Explorer 8 trở lên
attr demo
img {
padding: 10px;
}
div {
color: red;
font-size: 24px;
}
Attribute of Ajax
$[ "img" ].attr[{
src: "/resources/hat.gif",
title: "jQuery",
alt: "jQuery Logo"
}];
$[ "div" ].text[ $[ "img" ].attr[ "alt" ] ];
Giá trị thuộc tính được tính toán
Bằng cách sử dụng một hàm để đặt thuộc tính, bạn có thể tính toán giá trị dựa trên các thuộc tính khác của phần tử. Ví dụ: để nối một giá trị mới với một giá trị hiện có
1
2
3
$[ "#greatphoto" ].attr[ "title", function[ i, val ] {
return val + " - photo by Kelly Clark";
}];
Việc sử dụng một hàm để tính toán các giá trị thuộc tính có thể đặc biệt hữu ích khi sửa đổi các thuộc tính của nhiều phần tử cùng một lúc
Ghi chú. Nếu không có gì được trả về trong hàm setter [tức là.
1], hoặc nếu trả về
attr demo
img {
padding: 10px;
}
div {
color: red;
font-size: 24px;
}
Attribute of Ajax
$[ "img" ].attr[{
src: "/resources/hat.gif",
title: "jQuery",
alt: "jQuery Logo"
}];
$[ "div" ].text[ $[ "img" ].attr[ "alt" ] ];
6, giá trị hiện tại không thay đổi. Điều này hữu ích cho việc cài đặt có chọn lọc các giá trị chỉ khi các tiêu chí nhất định được đáp ứng
attr demo
em {
color: blue;
font-weight: bold;
}
div {
color: red;
}
Once there was a large dinosaur...
The title of the emphasis is:
var title = $[ "em" ].attr[ "title" ];
$[ "div" ].text[ title ];