miss'; ?>

首页 / 前端经验分享

JavaScript:void()为什么报错

By miss •  2016-12-29 16:14:03 •  106次点击

Uncaught SyntaxError: Unexpected token )

以下代码引发了此异常:

  1. <div class="Hd_live_Sharediv left">  
  2.                 <a href="javascript:void()" onclick="loadLivePlayer('ud')" style="width:40px;">超清</a>  
  3.                 <a href="javascript:void()" onclick="loadLivePlayer('hd')" style="width:40px;">高清</a>  
  4.                 <a href="javascript:void()" onclick="loadLivePlayer('sd')" style="width:40px;">流畅</a>  
  5.             </div>  
可能引发此错误的原因:

1、href属性值“JavaScript:void()”,括号中没有加“0”

void 操作符用法格式如下:
1. javascript:void (expression)
2. javascript:void expression
expression 是一个要计算的 Javascript 标准的表达式。表达式外侧的圆括号是选的,但是写上去是一个好习惯。 (实现版本 Navigator 3.0 )
你以使用 void 操作符指定超级链接。表达式会被计算但是不会当前文档处装入任何内容。

[html] view plain copy
  1. <div class="Hd_live_Sharediv left">  
  2.                 <a href="javascript:void(0)" onclick="loadLivePlayer('ud')" style="width:40px;">超清</a>  
  3.                 <a href="javascript:void(0)" onclick="loadLivePlayer('hd')" style="width:40px;">高清</a>  
  4.                 <a href="javascript:void(0)" onclick="loadLivePlayer('sd')" style="width:40px;">流畅</a>  
  5.             </div>  
2、onclick事件处理函数“loadLivePlayer”没有添加返回值,导致javascript:void(0)被执行,应该添加:return false; 

前端培训  [removed]void() 

1 回复 | 直到2017-01-18 11:56
    小丁丁  2016-12-29#1 -回复

    我最近也刚遇到:
    我想使用过ajax的都常见这样的代码:
    <a href="[removed]doTest2();void(0);">here</a>
    但这儿的void(0)究竟是何含义呢?

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

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

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

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

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

    <A HREF="[removed]void(0)">单此处什么也不会发生</A>

    下面的代码创建了一个超级链接,用户单时会提交表单。
    <A HREF="[removed]void(document.form.submit())">
    单此处提交表单</A>
    a href=#与 a href=[removed]void(0) 的区别 链接的几种办法

    #包含了一个位置信息

    默认的锚是#top 也就是网页的上端

    而[removed]void(0) 仅仅表示一个死链接

    这就是为什么有的时候页面很长浏览链接明明是#是

    跳动到了页首

    而[removed]void(0) 则不是如此

    所以调用脚本的时候最好用void(0)

    或者<input onclick>

    <div onclick>等

    链接的几种办法
    1.window.open(''url'')

    2.用自定义函数
    <script>
    function openWin(tag,obj)
    {
    obj.target="_blank"; obj.href = "Web/Substation/Substation.aspx?stati tag;
    obj.click();
    }
    </script>
    <a href="[removed]void(0)"


    [removed].href=""


回复

登录提问 or 还没有账号?去注册

前端范

现在注册 已注册请 登录
前端经验分享

只有经历实战才叫高手,欢迎高手们分享宝贵经验

此板块 新建话题 上一贴 下一贴

官方公众号


100000前端码农使用“js攻城师”,免费扫码加入

微信号:js_gcs

干货技术(js、html5、Node.js等)、实战经验、原创文章应有尽有!