javascript 取得页面中 <A href="abc.html">link</a> 中的 href的值
javascript 取得页面中 <A href= "abc.html "> link </a> 中的 href的值
我要取得的是 abc.html
下面是我的方法:
var count = document.getElementsByTagName( 'A ').length
var allA = document.getElementsByTagName( 'A ');
for(var i = 0 ; i < count ; i++ )
{
window.alert(allA[i].href) ;
}
这样取出的值是 http://******/abc.html 类似的绝对地,
我要取取得的是相对地址 "abc.html "
盼望高手指点.
在些先行谢过.
------解决方案--------------------1。
是的, href 返回的是完整路径
2。
方法1, 自己手动处理
3。
方法2, 投机的方法,对 a 标签添加一个自定义的 myhref, 设置与 href 对应的值
<a href= "JSHref.aspx " myhref= "JSHref.aspx "> JSHref.aspx </a>
<asp:hyperlink ID= "lnk " NavigateUrl= "JSHref.aspx " myhref= "JSHref.aspx " runat= "server "> JSHref.aspx </asp:hyperlink>
var count = document.getElementsByTagName( 'A ').length
var allA = document.getElementsByTagName( 'A ');
for(var i = 0 ; i < count ; i++ )
{
window.alert(allA[i].href) ;
window.alert(allA[i].myhref) ;
}
------解决方案-------------------- <script>
window.onload=function (){
var str = document.form1.innerHTML;
// alert(str);
var regEx = new RegExp( " <a\\s[^\ "\ ']*href=([\ "\ ']*)([^\ "\ ']*)\\1 ", "gi ");
alert(str);
alert(regEx.test(str));
//var list=str.match(regEx);
var val;
while(val=regEx.exec(str))
{
//alert( "x ");
alert(val[2]);
}
}
</script>
先拿到页面的innerHTML
然后正则之。。。
<form id= "form1 " runat= "server ">
<div>
<a href= "ttt "> </a> <a href= "ttt "> </a> <a href= "ttt "> </a> <a href= "ttt "> </a> <a href= "ttt "> </a> <a href= "ttt "> </a> <a href= "ttt "> </a>
</form>
------解决方案--------------------这位仁兄试一下:
allA[i].getAttribute( "href ")
或者
allA[i].getAttribute( "href ").value