关于在网页拼接时出现:“Uncaught SyntaxError: missing ) after argument list”的真凶在哪里

关于在网页拼接时出现:“Uncaught SyntaxError: missing ) after argument list”的真凶在哪里

大家好,又见面了,我是全栈君。

我们在写JS的时候,有时候报错“Uncaught SyntaxError: missing ) after argument list”,有些童鞋就蒙蔽了,真凶在哪里呢?

201808311535647264188732.jpg

字面翻译过来的意思:语法错误: 参数列表后面缺少 )

这不就是缺少括号的意思么?然而只是真的缺少括号才会出现这样的报错么?不尽然。今天就在做jQuery基本事件练习的时候,被这个错误给误导不浅。来来回回找了不下三四遍,没有少括号啊?

直到……找到真正的元凶,才略微有点明白出现这样错误其实不仅仅是因为“真正”的少写了一个括号哦。

其实,如果你没些漏掉括号,我们应该去找另外的原因,比如以下代码:

$('.bannerList').append('<li><a target="_blank" href="' + bannerInfo.url + '" onclick="_gaq.push(['_trackEvent', 'app_ads_banner', 'banner', 'content_top',1,true]);"><img width="100%" alt="" src="' + bannerInfo.cover + '"></a></li>')

大家看看哪里出问题了,运行后也会报错“Uncaught SyntaxError: missing ) after argument list”。

如果看不出来,我就解释下原因,报错的原因是在onclick里面的拼接参数的问题,直接写是不行的,我们需要转义下,如下操作:

onclick="_gaq.push([\'_trackEvent\', \'app_ads_banner\', \'banner\', \'content_top\',1,true]);"

我的是这样的

//搜索用户
function permissionSearch(){
	var searchUser=$("#searchUser").val();
	var appid=$("#appid").val();
	var tdStr = '';
	$.ajax({
		type: "POST",
		dataType: "json",
		url:"/admin/app/searchUser",
		data:  { 'appid': appid, 'searchUser': searchUser },
		success: function (result) {
			$('#newUser').html(result.data.name);
			if (result.state == 1) {
				tdStr='<tr> <td  class="center">新授权人</td><td  class="center"><span id="newUser">'+ result.data.name +'( '+result.data.email+')' +'</span></td><td  class="center"><button class="btn-sm table_close btn btn-danger" id="update_permission" data-dismiss="modal2" onclick="update_permission(\''+result.appid+'\',\''+result.data.email+'\',\''+result.data.name+'\',\''+result.data.mobile+'\')">授权</button></td> </tr>';
			}else{
				tdStr = '<tr> <td colspan="15" class="center">'+result.msg+'</td></tr>';
			};
			$('tbody.table_open_data').append(tdStr);
		},
	});
}

当然有时候还跟单引号和双引号有关的,不能同时用单引号和双引号,互相包含即可,这个很多童鞋会忽略问题,这里提示下,以后记住咯。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111458.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 使用 Python 程序实现摩斯密码翻译器「建议收藏」

    作者主页:海拥作者简介:CSDN全栈领域优质创作者、HDZ核心组成员、蝉联C站周榜前十粉丝福利:往期获奖记录每周送6~9本书,不定期送各种小礼品(搪瓷杯、抱枕、鼠标垫、马克杯等)摩斯密码是一种将文本信息作为一系列通断的音调、灯光或咔嗒声传输的方法,无需特殊设备,熟记的小伙伴即可直接翻译。它以电报发明者SamuelF.B.Morse的名字命名。算法算法非常简单。英语中的每个字符都被一系列“点”和“破折号”代替,或者有时只是单数的“点”或“

    2022年4月14日
  • amule的服务器列表

    amule的服务器列表

    2021年4月27日
  • Activity工作流学习

    Activity工作流学习点击打开链接1.初识Activiti1.1.工作流与工作流引擎工作流(workflow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。(我的理解就是:将部分或者全部的工作流程、逻辑

    2022年4月30日
  • intellij idea 激活码2099(最新序列号破解)

    intellij idea 激活码2099(最新序列号破解),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
  • IDEA的常见的设置和优化(功能)

    IDEA的常见的设置和优化(功能)显示工具条、设置鼠标悬浮提示、显示方法分隔符、忽略大小写提示、主题设置、自动导入包、单行显示多个Tabs、设置字体、配置类文档注释信息和方法注释模版、水平或者垂直显示代码、更换快捷键、注释去掉斜体、重装Idea导入配置信息

    2022年5月21日
  • SpringCloud—熔断器Hystrix的作用–解决灾难性雪崩效应

    SpringCloud—熔断器Hystrix的作用–解决灾难性雪崩效应

    2020年11月12日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号