首页 > 代码库 > sizzle分析记录:getAttribute和getAttributeNode
sizzle分析记录:getAttribute和getAttributeNode
部分IE游览器下无法通过getAttribute取值?
<form name="aaron"> <input type="text" name="aaron"/> </form>
alert(form.getAttribute(‘name‘)); IE6、7中错误
alert(form.getAttributeNode(‘name‘).nodeValue);
看看jQ的解决方案
能力判断
support.attributes = assert(function( div ) { div.className = "i"; //设置一个属性 return !div.getAttribute("className");});
处理
Sizzle.attr = function( elem, name ) { return val !== undefined ? val : support.attributes || !documentIsHTML ? elem.getAttribute( name ) : (val = elem.getAttributeNode(name)) && val.specified ? val.value : null;};
使用getAttributeNode得到属性节点,再通过nodeValue得到该属性节点的值
getAttributeNode的效率比getAttribute要低一些。如果要获取元素的id,node.id是最快的方法,node.getAttribute(‘id‘)其次,getAttributeNode(‘id‘).nodeValue最慢。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。