我正在尝试使用jquery点击链接。似乎只有一个复制“onclick”的点击事件(即用户输入)。是否可以使用jquery实际点击链接?
答案 0 :(得分:35)
从你的答案:
$("a[0]")
不是有效的选择器。获取页面上的第一个使用:
$("a:first")
或
$("a").eq(0).
所以对于答案中的选择器:
$("table[1]/tr[1]/td[1]/a").trigger('click');
写
$("table").eq(1).children("tr").eq(1).children('td').eq(1).children('a').click();
请注意,这将如何点击页面第二个表格中第二个表格行的第二个表格单元格中的所有链接。
如果您使用此方法将页面重定向到a的href,则以下方法稍微好一些:
document.location = $("table").eq(1).children("tr").eq(1).children('td').eq(1).children('a').attr('href');
请注意这将如何将文档位置设置为页面第二个表格中第二个表格行的第二个表格单元格中找到的第一个表格的href。
如果要匹配第一个元素,请使用eq(0)而不是eq(1)。
修改的
如果你真的想这样做1337-haxxor
$("table:eq(1) > tr:eq(1) > td:eq(1) > a").click();
但我认为另一种方法更易读。
修改
好的,从你的下一个回答/问题thingie
如何实际不点击链接,只需将document.location字符串设置为它:
document.location = $("table").eq(0).children("tr").eq(0).children('td').eq(0).children('a').eq(0).attr('href');
答案 1 :(得分:8)
我更喜欢$(-some object-).click()以提高可读性
如果您将click()方法传递给函数,它的行为类似于onClick事件绑定:
即。 $( - 某个对象 - )。click(function(){-do stuff-})
答案 2 :(得分:4)
$( - 某个对象 - )。触发器('click')应该可以解决问题。
答案 3 :(得分:4)
这项运作成功:
$(document).ready(function() {
$("#horizontalSlideButton").trigger('click');
});
其中horizontalSlideButton是您要为其触发点击事件的链接的ID。
加载DOM后,就会加载$(document).ready(function(){}的内容。
请注明这是否有帮助!
答案 4 :(得分:3)
我遇到了类似的问题,发现通过创建一个假的事件对象,然后使用dispatchEvent()调度它,用户点击非常好:
var event = document.createEvent("HTMLEvents");
event.initEvent("click", true, true);
document.getElementById('myID').dispatchEvent(event);
显然这不是使用JQuery,但它可能有助于你的任务。
答案 5 :(得分:2)
$("table:first").find("tr:first").find("td:first").find("a:first")[0].click();
如果这是您唯一的目标,这将在Internet Explorer中有效,否则您将无法使用document.location解决方案。
答案 6 :(得分:0)
以这种方式尝试:
$("table:first").find("tr:first").find("td:first").find("a:first").click();
这将触发第一个表中第一行的第一个单元格中的第一个a的onclick事件......并且它本身非常易读。
答案 7 :(得分:0)
我更喜欢使用实时功能,例如(用于课程)
$(document).ready(function() {
$(".myclass").live('click', function(){//do something});
});
或id
$(document).ready(function() {
$("#myid").live('click', function(){//do something});
});
我使用span类来设置我的链接的样式,并给它一个类或id
<span class="link"><a href="javascript:void(0);" target="_new">my link/a></span>