我想自动点击动态添加的链接。这是我的剧本
document.write("<a id='tikla' href='http://www.example.org'>tikla</a>");
$('#tikla').click();
然而它不起作用,因为链接是动态添加的对象。这样做的正确方法是什么?
答案 0 :(得分:2)
你想做什么?看起来你只想进入href位置?
如果是这样的话,你可以去
window.location.href = 'http://www.example.org';
答案 1 :(得分:2)
您需要在触发点击事件
之前添加点击处理程序document.write("<a id='tikla' href='http://www.example.org'>tikla</a>");
$('#tikla').click(function(){
alert("clicked");
});
$('#tikla').click();
对于动态添加的元素的绑定事件,jQuery使用jQuery event delegation提供on()。
委派事件的优势在于它们可以处理来自的事件 稍后添加到文档中的后代元素。通过 选择一个保证在当时存在的元素 委托事件处理程序附加,您可以使用委托事件 避免频繁附加和删除事件处理程序。
$( "#staticparent" ).on( "click", "#tikla", function() {
alert("clicked");
});
答案 2 :(得分:1)
使用
$('#tikla').get(0).click();
因为,您需要模拟dom元素点击。
$('#tikla').click();
将触发绑定到该锚元素的jquery点击事件。在你的情况下,锚元素没有任何绑定。
答案 3 :(得分:1)
你可以这样试试......
document.write("<a id='tikla' href='http://www.example.org'>tikla</a>");
window.location.href = $('#tikla').attr('href');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
答案 4 :(得分:1)
试试这个,
$("<a id='tikla' href='http://www.example.org'>tikla</a>")
.appendTo('body') // appendto body
.get(0).click(); // triggering click to itself
$("<a id='tikla' href='http://www.example.org'>tikla</a>")
.appendTo('body')
.get(0).click();
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
答案 5 :(得分:0)
var myLink = document.getElementById('tikla');
myLink.click();
感谢所有人,但没有人在Internet Explorer中工作过。我发现这个简单的javascript适用于所有浏览器。