簡體   English   中英

在Jade中,如何在onclick函數調用中傳遞參數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM