如何用Javascript获取超链接的链接地址?

JavaScript026

如何用Javascript获取超链接的链接地址?,第1张

可以用getAttribute()方法获取。

注:总结了一些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