2011-10-07 36 views
16

Đối với một nút chữ được đưa ra trong DOM, người ta có thể sử dụng một trong các đặc tính này để lấy văn bản của nó:Làm cách nào để truy xuất văn bản của nút văn bản DOM?

  • textContent
  • dữ liệu
  • nodeValue
  • wholeText

Nhưng cái nào để sử dụng? = Cái nào là đáng tin cậy nhất và qua trình duyệt ...

(Nếu nhiều thuộc tính là 100% đáng tin cậy và qua trình duyệt, sau đó cái nào sẽ là thích hợp nhất?)


Cập nhật:

Trên thực tế, wholeText không phải là một lựa chọn vì nó trả về văn bản nối của nút văn bản và tất cả các nút văn bản anh chị em ...

Trả lời

9

nodeValue phải là là trình duyệt tương thích. It is part of the original DOM Level 2 specification.

Ngoài ra, hãy xem compatibility table of quirksmode.org cho vấn đề đó (đó là những gì tôi luôn sử dụng để xem thuộc tính nào được trình duyệt hỗ trợ).

+1

Nếu bạn nhìn vào bảng quirksmode đó, bạn sẽ nhận thấy rằng 'nodeValue' là" không đầy đủ "trong IE 5.5 trong khi' dữ liệu' được hỗ trợ đầy đủ trong trình duyệt đó. Nó không thể ít liên quan hơn, nhưng vẫn ... ':)' –

+1

'dữ liệu' là một phần của thông số DOM Cấp 2, dưới giao diện' CharacterData'. * Không có đối tượng DOM nào tương ứng trực tiếp với CharacterData, mặc dù Text và các đối tượng khác kế thừa giao diện từ nó. * (Thông qua: http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID- FF21A306) –

+0

@ ŠimeVidas: Vâng, nhưng nếu bạn nhìn vào ghi chú, thì bạn sẽ thấy rằng 'nodeValue' không hoạt động với các nút * thuộc tính * trong IE 5.5, vì vậy nó tốt cho các nút văn bản. Tôi không biết về 'dữ liệu', thành thật mà nói;) –

1

tôi đã có kết quả tốt với nodeValue.

+0

Tôi nghĩ tôi sẽ đi với 'dữ liệu' - ngắn hơn và được xác định cụ thể cho các nút văn bản ... –

+1

Lực hấp dẫn là linh hồn của trí thông minh. ;) – canon

+0

Tôi đã có kết quả tốt với 'dữ liệu' :). –

0

Khi bạn chắc chắn 100% rằng đó là nút văn bản, bạn có thể sử dụng bất kỳ nút nào trong số đó.

+4

Điều đó không đúng. 'textContent' chỉ được giới thiệu trong IE 9. –

+1

Ok, IE lần nữa :) –

+0

@AronWoost Ý tưởng của tôi là một trong số đó là thích hợp nhất và tôi muốn sử dụng nó. –

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