sách gpt4 ai đã đi

innerText so với innerHTML so với label so với text so với textContent so với outerText

In lại Tác giả: IT Prince Thời gian cập nhật: 2023-10-29 02:40:35 29 4
mua khóa gpt4 Nike

Tôi có một danh sách thả xuống được điền bằng Javascript.

Khi quyết định các giá trị mặc định để hiển thị khi tải, tôi nhận ra rằng các thuộc tính sau đây hiển thị cùng một giá trị chính xác:

  • văn bản bên trong
  • bên trongHTML
  • nhãn
  • chữ
  • textNội dung
  • văn bản bên ngoài

Nghiên cứu của riêng tôi chỉ ra điểm chuẩn hoặc sự so sánh giữa một số nghiên cứu trong số đó (nhưng không phải tất cả).

Tôi có thể chọn 1 trong 2 cách dựa trên cảm nhận thông thường của mình vì chúng đều cung cấp kết quả như nhau, tuy nhiên, tôi lo rằng đây sẽ không phải là ý tưởng hay nếu dữ liệu thay đổi.

Những phát hiện của tôi là:

  • văn bản bên trongGiá trị sẽ được hiển thị nguyên trạng và bất kỳ định dạng HTML nào có thể được đưa vào sẽ bị bỏ qua.
  • bên trongHTMLGiá trị sẽ được hiển thị với bất kỳ định dạng HTML nào được áp dụng
  • nhãnCó vẻ như là văn bản bên trong Giống nhau, nên tôi không thể phân biệt được
  • chữCó vẻ như là văn bản bên trong Giống như phiên bản viết tắt của jQuery
  • textNội dungCó vẻ như văn bản bên trong Giống nhau nhưng vẫn giữ nguyên định dạng (ví dụ: \N )
  • văn bản bên ngoàiCó vẻ như là văn bản bên trong như nhau

Nghiên cứu của tôi chỉ có thể đưa tôi đi xa đến mức tôi chỉ có thể kiểm tra những gì tôi nghĩ ra hoặc đọc những gì đã được công bố, nhưng liệu có ai có thể xác nhận nghiên cứu của tôi là chính xác và nhãn Có điều gì đặc biệt về | và văn bản bên ngoài ?

1 Câu trả lời

Từ MDN :

Internet Explorer đã giới thiệu element.innerText. Mục đích khá giống [như textContent] với một vài điểm khác biệt:

  • Lưu ý rằng trong khi textContent lấy nội dung của tất cả các phần tử, bao gồm các phần tử, thuộc tính tương đương dành riêng cho IE, innerText, thì không.

  • innerText cũng nhận biết được kiểu và sẽ không trả về văn bản của các phần tử ẩn, trong khi textContent thì có.

  • Vì innerText nhận biết được kiểu CSS nên nó sẽ kích hoạt lệnh reflow, trong khi textContent thì không.

Vì thế văn bản bên trongSẽ không bao gồm văn bản ẩn bởi CSS, nhưng textNội dungĐúng.

innerHTML trả về HTML như tên của nó chỉ ra. Khá thường xuyên, để lấy hoặc viết văn bản trong một phần tử, mọi người sử dụng innerHTML. textContent nên được sử dụng thay thế. Vì văn bản không được phân tích cú pháp dưới dạng HTML, nên có khả năng có hiệu suất tốt hơn. Hơn nữa, điều này tránh được một vectơ tấn công XSS.

Trong trường hợp bạn chưa nghe, tôi xin nhắc lại lần nữa:không muốnsử dụng. bên trongHTMLTrừ khi bạn có ý định cụ thể chèn HTML vào phần tử và đã thực hiện các biện pháp phòng ngừa cần thiết để đảm bảo rằng HTML bạn chèn không chứa nội dung độc hại. Nếu bạn chỉ muốn chèn văn bản, hãy sử dụng .textNội dungNgoài ra, nếu bạn cần hỗ trợ IE8 và các phiên bản trước đó, hãy sử dụng tính năng phát hiện trong .textNội dung Chuyển đổi giữa .văn bản bên trong .

Một trong những lý do chính khiến có nhiều thuộc tính khác nhau là vì các trình duyệt khác nhau ban đầu có tên gọi khác nhau cho các thuộc tính này và vẫn chưa có sự hỗ trợ đầy đủ trên nhiều trình duyệt cho tất cả các thuộc tính đó. Nếu bạn đang sử dụng jQuery, bạn nên tuân thủ .chữ()Bởi vì tính năng này được thiết kế để loại bỏ sự khác biệt giữa các trình duyệt. *

Đối với một số người khác:bên ngoàiHTMLbên trongHTMLVề cơ bản là giống nhau, ngoại trừ việc nó chứa thẻ mở và thẻ đóng của phần tử mà nó thuộc về. Có vẻ như tôi không thể tìm thấy bất kỳ thông tin nào về văn bản bên ngoài Quá nhiều mô tả. Tôi nghĩ đây có thể là một đặc tính di sản ít người biết đến và cần tránh.

Liên quan đến javascript - innerText so với innerHTML so với label so với text so với textContent so với outerText, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/24427621/

29 4 0