Hướng dẫn get class content javascript - lấy nội dung lớp học javascript

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 http://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

var $element = $(".project_username");
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).

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

getElementsByClassName(names)
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)
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)
2

Mộ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.

<html lang="en">
  <body>
    <div id="parent-id">
      <p>hello world 1p>
      <p class="test">hello world 2p>
      <p>hello world 3p>
      <p>hello world 4p>
    div>

    <script>
      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

script> body> html>

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

<span class="orange fruit">Orange Fruitspan>
<span class="orange juice">Orange Juicespan>
<span class="apple juice">Apple Juicespan>
<span class="foo bar">Something Randomspan>
<textarea id="resultArea" style="width:98%;height:7em">textarea>

JavaScript

var $element = $(".project_username");
0

Kết quả

Thông số kỹ thuật

Sự chỉ rõ
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