javascript – .click()使用document.getElementById,但不使用jquery选择器

这有效:

$(function() {
    document.getElementById('click').click();
});

这不是:

$(function() {
    $('#click').click();
});

为什么?

编辑:(为了完整起见;已达成答案):

$(function() {
    $('#click').trigger('click')
});

也失败了

解决方法:

Why?

因为jquery click方法接受将在单击时调用的处理程序.

但是,DOM click方法模拟了click方法本身.

你需要

$('#click')[0].click();

或触发它

$('#click').trigger('click')
$('#click').click(); 

最后两个仅在分配了事件处理程序时才有效.也就是说,它不会触发简单的锚点击,但会调用onclick事件.

这是JS Fiddle

DEMO

function f1()
{
   document.getElementById("link1").click();
   document.getElementById("link2").click();
}

function f2()
{
   $("#link1").click();
   $("#link2").click();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="javascript:alert(1)" id="link1">Link 1 </a>
<a onclick="alert(2)" id="link2">Link 2 </a>

<button onclick="f1();">DOM click</button>

<button onclick="f2();">Jquery Click</button>

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...