注:总结了一些getAttribute(),setAttribute()在不同浏览器下兼容性以及如何解决这些问题
body里面有这些内容:
<div id="idHeader" class="class-header" title="kingwell" status="1"></div>
<label id="forUserName" for="userName" title="kingwell" status="1"></label>
下面是script的测试:
var el = document.getElementById("idHeader")
alert(el.getAttribute("id"))
alert(el.id)
IE Firfox->idHeader
alert(el.getAttribute("class"))
//IE6,IE7 ->null IE8,IE9,Firefox ->class-header
alert(el.class)
//IE6,IE7,IE8->报错 IE9,Firefox->undefined
alert(el.getAttribute("className"))
//IE6,IE7->class-header IE8,IE9,Firefox ->undefined
alert(el.className)
//All ->class-header
var elfor = document.getElementById("forUserName")
alert(elfor.getAttribute("for"))
//IE6,IE7->undefined IE8,9,Firefox->forUseName
alert(elfor.for )
//IE6,IE7报错,其它为undefined
alert(elfor.title)
//全部输出kingwell
alert(elfor.status)
//IE6-8 ->1 IE9,Firefox->undefined
alert(elfor.getAttribute("status"))
//全部输出 1
总结:
1:常规属性建议使用 node.XXXX。
2:自定义属性建议使用node.getAttribute("XXXX")。
3:当获取的目标是JS里的关键字时建议使用node.getAttribute("XXX"),如label中的for。
4:当获取的目标是保留字,如:class,请使用className代替。
直接dom节点对象 .href 比如 超链接有一个id 可以这样写:var href = document.getElementById('as').href // 超链接Id = as
alert(href)// 弹出href,用于查看是什么值,调试用,无实际意义。
复制代码代码如下:
var
url
=
location.href
//获取keyword的参数值
var
es=/keyword=/
es.exec(url)
var
result=RegExp.rightContext
例如:
复制代码
代码如下:
var
url
=
location.href
//获取pid的参数值
var
es=/pid=/
es.exec(url)
var
pid=RegExp.rightContext
var
aurl
=
"&pid="+pid
复制代码
代码如下:
alert(pid)//结果:&pid=37