【发布时间】:2013-03-01 20:02:34
【问题描述】:
我在一个页面上有一堆<a> 标签,看起来像
<a href="#" id="001" onclick="fnaaa();" >...</a>
...
<a href="#" id="002" onclick="fnaba();" >...</a>
...
<a href="#" id="003" onclick="fncda();" >...</a>
//sometimes maybe like this
<a href="#" id="004" onclick="fnagg(); return false;" >...</a>
...
现在我将 id 作为查询字符串传递给页面,所以我最初想做类似的事情
$('a[id="' + id + '"]').click();
$('a[id="' + id + '"]').trigger("click");
事实证明这两个都是不允许的,所以如果我有 id ,我怎么能调用写在 onclick 属性中的函数呢?我知道我大概可以这样得到它
var funcToCall = $('a[id="' + id + '"]').attr('onclick');
但是我如何调用这个 funcToCall?记住 funcToCall 可能不仅仅是一个函数名 ex。 "fnagg(); 返回 false;"
【问题讨论】:
-
如果您使用 jQuery 函数绑定事件处理程序,您可以这样做
$('a[id="' + id + '"]').click(); $('a[id="' + id + '"]').trigger("click");。阅读更多关于差异stackoverflow.com/questions/12627443/jquery-click-vs-onclick/… -
你可以这样试试 setTimeout(funcToCall+"()",0);
-
这似乎是一个糟糕的设计决策。这些链接中的每一个在做什么?比如
fnaaa()是做什么的? -
我发布了一个很好的例子,请在此页面上查看stackoverflow.com/questions/25532182/…
标签: javascript jquery html