自动点击以动态添加链接

时间:2015-08-13 05:47:13

标签: javascript jquery

我想自动点击动态添加的链接。这是我的剧本

document.write("<a id='tikla' href='http://www.example.org'>tikla</a>");

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

然而它不起作用,因为链接是动态添加的对象。这样做的正确方法是什么?

6 个答案:

答案 0 :(得分:2)

你想做什么?看起来你只想进入href位置?

如果是这样的话,你可以去

window.location.href = 'http://www.example.org';

答案 1 :(得分:2)

您需要在触发点击事件

之前添加点击处理程序

Live Demo

document.write("<a id='tikla' href='http://www.example.org'>tikla</a>");

$('#tikla').click(function(){
     alert("clicked");
});

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

对于动态添加的元素的绑定事件,jQuery使用jQuery event delegation提供on()

Delegated events

  

委派事件的优势在于它们可以处理来自的事件   稍后添加到文档中的后代元素。通过   选择一个保证在当时存在的元素   委托事件处理程序附加,您可以使用委托事件   避免频繁附加和删除事件处理程序。

$( "#staticparent" ).on( "click", "#tikla", function() {
  alert("clicked");
});

答案 2 :(得分:1)

使用

$('#tikla').get(0).click();

因为,您需要模拟dom元素点击。

$('#tikla').click();将触发绑定到该锚元素的jquery点击事件。在你的情况下,锚元素没有任何绑定。

Fiddle

答案 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

&#13;
&#13;
$("<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;
&#13;
&#13;

答案 5 :(得分:0)

var myLink = document.getElementById('tikla');
myLink.click();

感谢所有人,但没有人在Internet Explorer中工作过。我发现这个简单的javascript适用于所有浏览器。