"Cảnh báo: Trong DOM lõi 1, 2 và 3, Attr được kế thừa từ nút. Điều này không còn là trường hợp trong DOM4. Để mang lại việc triển khai Attr up to specification, công việc đang được tiến hành để thay đổi thành không Bạn không nên sử dụng bất kỳ thuộc tính hoặc phương thức Node nào trên các đối tượng Attr, bắt đầu từ Gecko 7.0 (Firefox 7.0/Thunderbird 7.0/SeaMonkey 2.4), những cái sẽ được loại bỏ các thông điệp cảnh báo đầu ra tới bàn điều khiển. nên xem xét lại mã của bạn. Xem các thuộc tính và phương thức không được chấp nhận để có danh sách đầy đủ. "DOM4: Các thuộc tính và phương thức không được chấp nhận, có nghĩa là gì?
Cuộn xuống trang, chúng ta có thể thấy thay thế cho nodeName và NodeValue, sử dụng Attr.name và Attr.value.
https://developer.mozilla.org/en/DOM/Attr#Deprecated_properties_and_methods
hiện nó thực sự có ý nghĩa gì đối với các phương pháp khác như thuộc tính hoặc childNodes? Tài liệu tham khảo cho biết nó không được dùng nữa nhưng chúng không cung cấp bất kỳ sự thay thế nào!
Phiên bản này không còn được dùng cho Thuộc tính nhưng nó cũng có thuộc tính cho nút không?
attr đối tượng: http://www.w3schools.com/jsref/dom_obj_attr.asp
Edit: nodeValue CHỈ sẽ không được chấp nhận Attributes (attr) kể từ attr sẽ không kế thừa từ một Node nữa trong DOM Level 4:
Dưới đây là một ví dụ nhanh chóng mà giúp tôi hiểu:
<div id="myAttribute">myTextNode</div>
var myDiv = document.getElementById("myAttribute");
// If you want to get "myAttribute" from div tag
alert(myDiv.attributes[0].value);
// Correct way to get value of an attribute (displays "myAttribute")
alert(myDiv.attributes[0].nodeValue);
// Working too but deprecated method for Attr since it doesn't inherit from Node in DOM4 (.nodeValue is specific to a Node, not an Attribute)
// If you want to get "myTextNode" from div tag
alert(myDiv.childNodes[0].value);
// Not working since .value is specific to an attribute, not a Node (displays "undefined")
alert(myDiv.childNodes[0].nodeValue);
// Working, .nodeValue is the correct way to get the value of a Node, it will not be deprecated for Nodes! (displays "myTextNode")
lẽ điều này sẽ tránh nhầm lẫn cho người khác khi truy cập vào thuộc tính/Nodes :)
tôi nghĩ rằng an toàn để giả định toàn bộ đối tượng Attr sẽ không được chấp nhận và tôi không thấy bất kỳ lý do gì để sử dụng nó. – jbabey
@jbabey Đối tượng thuộc tính sẽ không bị phản đối và vì lý do sử dụng nó, tôi đã cập nhật bài viết của mình – baptx