2

用 jQuery 在你的 JavaScript 控制台(Chrome 或其他东西)上试试这个。

var jo = $("<xml required=\"true\" name=\"lol\"></xml>"); //test xml
jo.attr("required"); //returns "required" instead of true
jo.attr("name"); //returns correct "lol"
jo.prop("required"); //returns undefined
jo.prop("name"); //returns undefined

任何人都有一个可行的解决方案来获得true/false这个xml的正确所需值()?

.prop()仅适用于 html 之类的<input>.

4

1 回答 1

8

jQuery 代码基于 HTML 世界中的名称和语义,对属性及其性质有自己的看法。这就是为什么“required”给你“required”作为它的属性值。

您可以尝试.getAttribute()直接使用,尽管其结果可能取决于浏览器:

jo[0].getAttribute("required");

.prop()函数仅适用于 HTML DOM 元素,因为它依赖于浏览器创建具有反映从源解析的属性值的属性的对象。

于 2013-05-23T13:44:56.520 回答