触发JavaScript锚函数(无需用户点击)

触发JavaScript锚函数(无需用户点击),javascript,jquery,Javascript,Jquery,我有一个页面,用户可以看到这个锚 <a href="javascript:launchSomething("1", "2", "1")">Test</a> 但是网页是动态生成的,这些参数也会发生变化,所以一旦加载了网页,我需要做什么来自动触发它呢 谢谢你的帮助 更新 我刚把标记改为 <a class="click1" href="javascript:launchSomething('1', '2', '1')">Test</a> 因此,它

我有一个页面,用户可以看到这个锚

<a href="javascript:launchSomething("1", "2", "1")">Test</a>
但是网页是动态生成的,这些参数也会发生变化,所以一旦加载了网页,我需要做什么来自动触发它呢

谢谢你的帮助

更新

我刚把标记改为

<a class="click1" href="javascript:launchSomething('1', '2', '1')">Test</a>


因此,它总是有一个类“click1”

如果您足够信任代码(在生成代码时您可能应该这样做),您可以使用:

eval($('a[href^="javascript:launchSomething("]').attr('href').slice(11));

注:

  • 您将看到我修复了HTML中缺少转义引号的问题
  • 我的第一个想法是基于jQuery触发器函数的,它不起作用,因为它只适用于jQuery添加的回调

您可以通过动态生成链接的属性来实现这一点:

foreach ($rows as $row) {
    echo '<a class="mylink" data-id=\''.$row['id'].'\'>Test </a>'; 
}
要调用特定链接的处理程序,可以使用:

$('.mylink[data-id="someID"]').click();

这不是有效的HTML,顺便说一句。你自己生成那个页面吗?有php foreach循环。。。例如,
foreach($row形式的行){launchsomething($row[id]);}
@Bergi-不,但我可以根据请求更改HTML标记…@user1421214:然后提交一组请求:1)正确转义引号2)不要使用
javascript:
-url-如果使用内联处理程序,使用
onclick
属性3)完全不要使用内联处理程序,将内容与行为分开…-只需遵循最佳实践。这实际上不起作用,因为链接没有绑定单击事件处理程序。@Asad我看到了。我制作了另一个(已测试)版本Hi-是的,请相信代码,但如果您建议进行任何标记更改,例如向锚点添加一个类,这会有什么不同(这样我们就不必使用eval())?eval用于执行href中的javascript,而不是查找元素。在这里使用eval没有问题。对不起,我忘了提到有一个规定可以有多个launchSomething()函数。。。类似于
foreach($row作为$row的行){echo'@user1421214那么在页面加载时,您希望在调用中使用哪些参数?呃…例如,如果数据数组看起来像$launch_params=array(数组(“id”=>2,“parentid”=>10,“pageid”=>3),数组(“id”=>8,“parentid”=>50,“pageid”=>5))“…我们总是使用第一组参数调用函数…有什么意义吗?就像我说的,用户也可以单击此链接来调用该函数…但自动地,我们只想调用第一个函数。我可以看到您的编辑并得到它…似乎它会很好地工作…只需要进行测试,我会告诉您它是如何运行的。。。干杯,阿萨德!
$('.mylink').click(function(){
    launchSomething($(this).data('id'));
});
$('.mylink[data-id="someID"]').click();