2017-11-14 3 views

Antwort

1

Das Problem hier ist, dass Javascript Zitate um Funktionen erwartet. Was Jade macht, ist <a id='myLinkTag' onclick='myFunction(userid) href=''>

Dies ist nicht, was Javascript erwartet, erwartet Javascript einen gültigen Variablennamen zu seinen onclick Funktionen gegeben werden. Es gibt zwei Möglichkeiten:

  • Wenn Sie SURE sind, dass es gibt keinen Weg für user._id jemals etwas anderes als ein String sein NUR ENTHALTEN alphanumerischen Zeichen (new RegExp(/^(A-Za-z0-9)+$/)) dann Anführungszeichen in myFunction: a(id='myLinkTag' onclick='myFunction(\'' + user._id + '\')' href='') Delete

  • Wenn user._id mehr als alphanumerische Zeichen lang sein können, können Sie stattdessen Jade verwenden, um eine Klasse und ein benutzerdefiniertes Attribut setzen wie a(id='myLinkTag' class="myclass" userid=user._id href='') Delete dann in Javascript können Sie:

:

$(".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>

0

Verwenden verschachtelte Anführungszeichen unterscheiden, so dass Sie eine Zeichenfolge an die Funktion übergeben.

a(id='myLinkTag' onclick="myFunction(' + user._id + ')" href='') Delete 
+0

, wenn ich die Frage richtig gelesen, das wird nicht funktionieren, weil user._id ein Jade-Variable keine js ist eine – pfg

+0

i in einer Tabelle drucken konnte als "td # {user._id}". Jetzt versuche ich diesen Wert im Onclick-Event zu senden. Ein abweichendes geschachteltes Zitat funktioniert nicht, in diesem Fall wird "user._id" als Zeichenfolge betrachtet und gesendet. – Bhavana

+0

@Bhavana Ich habe ein Beispiel der Weitergabe der ID als Attribut angegeben, um sie in einer Onclick-Funktion in meiner Antwort zu verwenden. – pfg

Verwandte Themen