A-A+

jquery中在ie6下获取href属性值不到解决办法

2016年01月07日 前端设计 暂无评论 阅读 5 views 次

jquery与ie6不是蛮多的不兼容了,今天在做一个获取A标题的href内容时发现在ie6下无法得到相关值了,下面我们就来看看此问题要怎么解决吧。

想做一个ajax分页的功能,需要获取href属性的值。

html文件,代码如下:

  1. <div id="ajaxpage">  
  2. <span>47条/10页</span>  
  3. <a href="?page=0" onclick="return false" >第一页</a>  
  4. <a href="?page=2" onclick="return false" >上一页</a>  
  5. <a href="?page=0" onclick="return false" >1</a>  
  6. <a href="?page=1" onclick="return false" >2</a>  
  7. <a href="?page=2" onclick="return false" >3</a>  
  8. <a href="?page=3" onclick="return false" >4</a>  
  9. <a href="?page=4" onclick="return false" >5</a>  
  10. <a href="?page=5" onclick="return false" >6</a>  
  11. <a href="?page=4" onclick="return false" >下一页</a>  
  12. <a href="?page=9" onclick="return false">尾页</a>  
  13. </div>  

在常用的流量器中使用jQuery的attr方法就足够了.

var url=$(this).attr('href');

但是在IE6下获取到的不是正确的属性值,是带有域名的URL。这个不是jQuery的bug,是ie的问题,在高版本中不会出现这种情况。

例如: https://www.xiariboke.net ?page=2

解决这个问题就需要做特殊的处理。

解决方案,代码如下:

  1. var url=$(this).attr('href');      
  2. var base = window.location.href;  
  3. var endIndex=url.lastIndexOf("?");  
  4. if(endIndex){  
  5.     base = window.location.href.substring(0, endIndex);  
  6. }  
  7. url = url.replace(base, "");  
标签:

给我留言