是的,我已经被告知有几次使用onclick
$('#linkId').click(function()
Run Code Online (Sandbox Code Playgroud)
代替
<a href='javascript:showComments($displayWall[id]);'>
Run Code Online (Sandbox Code Playgroud)
但是,我如何在函数中存储变量,就像我可以用上面那样做?
我的意思是,如果链接是这样的:<a id="linkId">test</a>我在哪里可以存储变量?
更新:
它看起来更像$displayWall是一个全局JS变量(否则<a href='javascript:showComments($displayWall[id]);'>将无效).那么这实际上也应该有效:
$('#linkId').click(function() {
showComments($displayWall[id]);
});
Run Code Online (Sandbox Code Playgroud)
我现在意识到,以下假设是遥不可及的,但不过:
假设$displayWall是服务器端变量,意味着页面被预处理.
例如,您可以ref将链接的属性设置为变量值:
<a id="linkId" ref="$displayWall[id]">test</a>
Run Code Online (Sandbox Code Playgroud)
并在点击处理程序中访问它:
$('#linkId').click(function() {
showCmments($(this).attr('ref'));
//...
});
Run Code Online (Sandbox Code Playgroud)
如果仅将处理程序附加到一个元素,则还可以在单击处理程序中设置变量:
$('#linkId').click(function() {
var value = '$displayWall[id]';
//...
});
Run Code Online (Sandbox Code Playgroud)