a(id='myLinkTag' onclick='myFunction(' + user._id + ')' href='') Delete
这里user._id是变量并试图将该值传递给myFunction。
syntaxError:无效或意外的令牌
答案 0 :(得分:1)
这里的问题是javascript期望功能引用。玉正在制作的是<a id='myLinkTag' onclick='myFunction(userid) href=''>
这不是javascript所期望的,Javascript期望为其onclick函数提供有效的变量名称。有两种选择:
如果您确定,则user._id NO WAY 除了字符串仅包含之外的任何内容字母数字字符(new RegExp(/^(A-Za-z0-9)+$/)
)然后在myFunction中加上引号:a(id='myLinkTag' onclick='myFunction(\'' + user._id + '\')' href='') Delete
如果user._id可以超过字母数字字符,您可以使用jade设置类和a(id='myLinkTag' class="myclass" userid=user._id href='') Delete
之类的自定义属性,然后在javascript中可以:
$(".myclass").click(function(e){
var userid = $(e.target).attr("userid");
console.log(userid);
alert(userid);
});
Jade would be:
a(id='myLinkTag' class="myclass" userid=user._id href='#')
a(id='myLinkTag2' class="myclass" userid=user2._id href='#')
a(id='myLinkTag3' class="myclass" userid=user3._id href='#')
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="myclass" userid="myuserid" href="#">link</a>
<a class="myclass" userid="myuserid2" href="#">link2</a>
<a class="myclass" userid="myuserid3" href="#">link3</a>
答案 1 :(得分:0)
使用不同的嵌套引号,以便将字符串传递给函数。
a(id='myLinkTag' onclick="myFunction(' + user._id + ')" href='') Delete