window.location.href不起作用的原因分析

今天写了个跳转的js,用到了 window.location.href,代码如下:
      function  showEnquiryListByType(typeId){
          
var  uUrl = " /Enquiry/list/?type=enquery&calss= " + typeId;
          alert(uUrl);
          window.location.href
= uUrl;
    }

     上面的alert(uUrl);是不跳转后用来调试的,页面反映为现实uUrl的值,但不进行跳转,分析思路是window.location.href出问题,所以尝试了常用的调试方式,比如:

     判断是否是在包含页里面:采用

           window.parent.location.href=uUrl; //这个完全否决,因为不是这种情况

     采用 window.href location.href document.href均无效

     于是跳出判断函数内部出错,分析页面出发该函数的事件,原来是这样的:

          <a href="javascript:void(0)" οnclick="showEnquiryListByType('12120015')">

     发现问题:<a href="javascript:void(0)" ,于是修改为:

          <a href="javascript:showEnquiryListByType('12120015')">

     于是一切正常!

    为什么会发生这个问题呢?我们来看看javascript:void(0) :

    JavaScript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。

    void 操作符用法格式如下:
        1. javascript:void (expression)
        2. javascript:void expression

    expression 是一个要计算的 JavaScript 标准的表达式。表达式外侧的圆括号是可选的,但是写上去是一个好习惯。 (实现版本 Navigator 3.0 )

    你可以使用 void 操作符指定超级链接。表达式会被计算但是不会在当前文档处装入任何内容。

    下面的代码创建了一个超级链接,当用户点击以后不会发生任何事。当用户点击链接时,void(0) 计算为 0,但在 JavaScript 上没有任何效果。

    <A HREF="javascript:void(0)">单击此处什么也不会发生</A>

    下面的代码创建了一个超级链接,用户单击时会提交表单。

    <A HREF="javascript:void(document.form.submit())">
单击此处提交表单</A>

 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值