我已经被告知过几次使用onclick
。$('#linkId').click(function()
替代
<a href='javascript:showComments($displayWall[id]);'>
那么如何在函数中存储变量,就像上面的例子一样?
我的意思是,如果链接是这样的:<a id="linkId">test</a>
,我该在哪里存储变量?
我已经被告知过几次使用onclick
。$('#linkId').click(function()
替代
<a href='javascript:showComments($displayWall[id]);'>
那么如何在函数中存储变量,就像上面的例子一样?
我的意思是,如果链接是这样的:<a id="linkId">test</a>
,我该在哪里存储变量?
更新:
看起来$displayWall
是一个全局JS变量(否则<a href='javascript:showComments($displayWall[id]);'>
就不会起作用)。那么这个也应该可以工作:
$('#linkId').click(function() {
showComments($displayWall[id]);
});
我现在意识到,以下的假设过于牵强,但还是要提一下:
假设 $displayWall
是服务器端变量,也就是页面预处理。
你可以将链接的 ref
属性设置为该变量的值:
<a id="linkId" ref="$displayWall[id]">test</a>
并在点击处理程序中访问它:
$('#linkId').click(function() {
showCmments($(this).attr('ref'));
//...
});
如果您只将处理程序附加到一个元素上,则也可以在点击处理程序中设置变量:
$('#linkId').click(function() {
var value = '$displayWall[id]';
//...
});
您可以这样做:<a id="linkId" name="SOME_DATA">test</a>
。在点击事件处理程序中,您可以像这样访问数据:
$('#linkId').click(function(){
alert($(this).attr('name'));
});
您可以使用其他属性来保存动态值(例如id、name、rel、class等)。其中一个示例可能会变成这样 -> PHP/HTML:
echo '<a class="showComments" id="c',$displayWall['id'],'" href="#">Show comments</a>';
jQuery:
$(function(){
$("a.showComments").click(function(){
var id = $(this).attr("id").substr(1);
// ...
return false;
});
});
var myVar = "<?=$myVar;?>";
$displayWall[id]
是从哪里来的? - Felix Kling