我有一堆< 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;”
解决方法
首先,ID属性有
some restrictions,其中一个是必须以字母开头.修复之后,我建议不要使用内联onclick处理程序.
$("#ID_HERE").click(function(e) { fnaaa(); e.preventDefault(); });
然后你可以轻松触发它:
$("#ID_HERE").triggerHandler("click");
但是,如果你绝对必须使用丑陋的onclick,你可以调用它like this:
<a id="foo" href="#" onclick="alert('test');">Test</a> var el = document.getElementById('foo'); el.onclick();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。