我有以下XHTML:
<span id="myid" cus:att="myvalue" xmlns:cus="http://mycompany.com/customnamespace">
</span>
是否可以使用javascript访问自定义属性?我有代表跨度的元素。执行myElement.att
不起作用,我无法弄清楚如何指定命名空间?
答案 0 :(得分:5)
通常情况下,您可以直接访问它,即element.attribute
,但命名空间会使其稍微复杂化:
element.getAttribute("namespace:attribute") //the nuclear x-browser option
所以,要真的很清楚,那就像是:
document.getElementById('myid').getAttribute('cus:att')
答案 1 :(得分:1)
有一个特殊版本的getAttribute
方法,专门用于访问命名空间属性:getAttributeNS
。使用您的示例XHTML,以下JavaScript代码:
document.getElementById("myid").getAttributeNS("http://mycompany.com/customnamespace", "att");
...会返回“myvalue
”。
您可以详细了解getAttributeNS
方法here。
史蒂夫