[英]In Jade, how to pass parameters in the onclick function call
a(id='myLinkTag' onclick='myFunction(' + user._id + ')' href='') Delete
這里的user._id是變量,並試圖將該值傳遞給myFunction。
語法錯誤:無效或意外的令牌
這里的問題是javascript期望函數周圍有引號。 翡翠正在制造的是<a id='myLinkTag' onclick='myFunction(userid) href=''>
這不是javascript所期望的,Javascript希望為其onclick函數賦予有效的變量名稱。 有兩種選擇:
如果你確信 沒有辦法為user._id永遠比一個字符串只有包含字母數字字符(其它任何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>
使用不同的嵌套引號,以便您將字符串傳遞給函數。
a(id='myLinkTag' onclick="myFunction(' + user._id + ')" href='') Delete
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.