Trình duyệt nào hỗ trợ [các] phương pháp nào?
var $element = $[".project_username"];
1 chỉ hoạt động khi phần tử có var $element = $[".project_username"];
2. Ví dụ của bạn ở trên cho thấy giá trị có trong thuộc tính var $element = $[".project_username"];
3, thay vì var $element = $[".project_username"];
4.Bạn có thể sử dụng
var $element = $[".project_username"];
5, mặc dù điều này không được hỗ trợ trong IE8 hoặc thấp hơn. Ngoài ra còn có var $element = $[".project_username"];
6, có hỗ trợ tốt hơn một chút trong IE.Mmm, biểu đồ hỗ trợ trình duyệt rất đẹp
Bạn có thể kiểm tra hỗ trợ trình duyệt cho các phương thức khác nhau để nhận các yếu tố trực tuyến tại //www.quirksmode.org/dom/w3c_core.html#gettingelements.
Độ mẫn cảm của việc làm điều đó một mình
Làm một giải pháp tương thích với trình duyệt rộng có thể là dài dòng:
var parent = document.getElementById["project_user"],
element;
// If the browser supports querySelectorAll, use it.
if [ parent.querySelectorAll ] {
element = parent.querySelectorAll['.project_username'][0];
// Else, if getElementsByClassName is supported, use it.
} else if [ parent.getElementsByClassName ] {
element = parent.getElementsByClassName['project_username'][0];
// Else, roll up our sleeves, let's do this the hard way
} else {
var spans = parent.getElementsByTagName["span"],
spani = spans.length;
while [ spani-- ] {
if [ spans[spani].className === "project_username" ] {
element = spans[spani];
break;
}
}
}
Sự ngắn gọn của việc sử dụng các công cụ tuyệt vời
Hoặc bạn có thể sử dụng một cái gì đó như jQuery để giảm bớt sự thất vọng của bạn:
var $element = $[".project_username"];
Phương thức
5 của giao diện var $element = $[".project_username"];
8 trả về một đối tượng giống như mảng của tất cả các phần tử con có tất cả [các] tên lớp đã cho.var $element = $[".project_username"];
5 method of var $element = $[".project_username"];
8 interface returns an array-like object of all child elements which have all of the given class name[s]. var $element = $[".project_username"];
Khi được gọi trên đối tượng
var $element = $[".project_username"];
9, tài liệu hoàn chỉnh được tìm kiếm, bao gồm cả nút gốc. Bạn cũng có thể gọi getElementsByClassName[names]
0 trên bất kỳ yếu tố nào; Nó sẽ chỉ trả về các phần tử là hậu duệ của phần tử gốc được chỉ định với [các] tên lớp đã cho. Cảnh báo: Đây là một
1 trực tiếp. Những thay đổi trong DOM sẽ phản ánh trong mảng khi các thay đổi xảy ra. Nếu một phần tử được chọn bởi mảng này không còn đủ điều kiện cho bộ chọn, nó sẽ tự động bị xóa. Hãy nhận biết điều này cho mục đích lặp. This is a live getElementsByClassName[names]
getElementsByClassName[names]
1. Changes in the DOM will reflect in the array as the
changes occur. If an element selected by this array no longer qualifies for the selector, it will automatically be removed. Be aware of this for iteration purposes. Cú pháp
getElementsByClassName[names]
Thông số
getElementsByClassName[names]
2Một chuỗi đại diện cho [các] tên lớp để khớp; Nhiều tên lớp được phân tách bằng khoảng trắng.
Giá trị trả về
Một
getElementsByClassName[names]
1 của các yếu tố được tìm thấy.Ví dụ
Nhận tất cả các yếu tố có một lớp 'kiểm tra':
document.getElementsByClassName['test']
Nhận tất cả các yếu tố có cả hai lớp 'Red' và 'Test':
document.getElementsByClassName['red test']
Nhận tất cả các yếu tố có một lớp 'kiểm tra', bên trong một phần tử có ID của 'Main':
document.getElementById['main'].getElementsByClassName['test']
Nhận phần tử đầu tiên với lớp 'kiểm tra' hoặc
getElementsByClassName[names]
4 nếu không có phần tử phù hợp:document.getElementsByClassName['test'][0]
Chúng ta cũng có thể sử dụng các phương thức của Array.prototype trên bất kỳ
getElementsByClassName[names]
1 nào bằng cách truyền getElementsByClassName[names]
1 làm giá trị này của phương thức. Ở đây chúng tôi sẽ tìm thấy tất cả các thành phần div có một lớp 'kiểm tra':const testElements = document.getElementsByClassName['test'];
const testDivs = Array.prototype.filter.call[
testElements,
[testElement] => testElement.nodeName === 'DIV',
];
Nhận phần tử đầu tiên có lớp là 'kiểm tra'
Đây là phương pháp hoạt động được sử dụng phổ biến nhất.
hello world 1
hello world 2
hello world 3
hello world 4
const parentDOM = document.getElementById["parent-id"];
const test = parentDOM.getElementsByClassName["test"]; // a list of matching elements, *not* the element itself
console.log[test]; // HTMLCollection[1]
const testTarget = parentDOM.getElementsByClassName["test"][0]; // the first element, as we wanted
console.log[testTarget]; // hello world 2
Nhiều lớp ví dụ
getElementsByClassName[names]
7 hoạt động rất giống với getElementsByClassName[names]
8 và var $element = $[".project_username"];
6. Chỉ các phần tử với tất cả các tên lớp được chỉ định được chọn.HTML
Orange Fruit
Orange Juice
Apple Juice
Something Random
JavaScript
var $element = $[".project_username"];
0Kết quả
Thông số kỹ thuật
DOM Standard # ref-for-document-getElementsbyClassName① # ref-for-dom-document-getelementsbyclassname① |
Tính tương thích của trình duyệt web
Bảng BCD chỉ tải trong trình duyệt