html标签和js之间存在映射的关系,html标签在js中以Dom节点对象存在。
js获取html标签中属性的方式有两种: 1. 通过dom对象的getAttribute方法 2. 通过dom节点属性.
但在ie和ff下用node.getAttribute("属性名")得到的结果不太一样,相比下,通过node.属性名得到的结果更一致一些。
测试结论: 使用node.属性名方式获取html属性值比node.getAttribute("属性名")方法在跨浏览器兼容性要好。
js获取html标签中属性的方式有两种: 1. 通过dom对象的getAttribute方法 2. 通过dom节点属性.
但在ie和ff下用node.getAttribute("属性名")得到的结果不太一样,相比下,通过node.属性名得到的结果更一致一些。
请在ie和ff中测试下面的代码:
<a href="http://www.baidu.com" id="a" class="b" title="baidu" οnclick="alert(this.href);return false;">baidu</a>
<script type="text/javascript">
var node=document.getElementById("a");
alert( node.getAttribute("id") );
alert( node.getAttribute("class") );
alert( node.getAttribute("className") ); //class 是js保留字,在获取标签的class属性时,要用className
alert( node.getAttribute("title") );
alert( node.getAttribute("href"));
alert( node.getAttribute("onclick"));
alert( node.getAttribute("innerHTML"));
alert( node.id );
alert( node.class );
alert( node.className );
alert( node.title );
alert( node.href );
alert( node.onclick );
alert( node.innerHTML );
</script>
测试结论: 使用node.属性名方式获取html属性值比node.getAttribute("属性名")方法在跨浏览器兼容性要好。
另外,在js中定义的属性,也可以作用到html上.
<style type="text/css">
.red{color:red;}
</style>
<p id="pid">测试文字</p>
<script type="text/javascript">
var node=document.getElementById("pid");
node.className="red";
</script>