对a标签使用click()不起作用

    xiaoxiao2022-07-04  189

    有问题的代码:

    var cur_url = window.location.href;#获取当前页面url if(cur_url.indexOf('#') > 1){ #链接中有锚点 var tab = cur_url.split('#')[1]; #获取锚点的值 var lis = $('#myTab li'); #获取所有tab $.each(lis, function(index, obj){ if($(obj).find('a').attr('href') == '#'+tab){ $(obj).find('a').click();#问题行,点击事件不起作用 return false; } }); }

    解决的代码:

    var cur_url = window.location.href;#获取当前页面url if(cur_url.indexOf('#') > 1){ #链接中有锚点 var tab = cur_url.split('#')[1]; #获取锚点的值 var lis = $('#myTab li'); #获取所有tab $.each(lis, function(index, obj){ if($(obj).find('a').attr('href') == '#'+tab){ console.log($(obj).find('a'));#打印出找到的a标签 $(obj).find('a')[0].click();#修改后的代码 return false; } }); }

    上述代码中的console.log($(obj).find('a'))的结果如下图所示,

    打开0:a 可查看到有各种事件:

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="jquery-2.0.3.min.js"></script> <script type="text/javascript"> $(function(){ console.log($('a'));#这里查看获取的a标签 }); </script> </head> <body> <div class="advantage1"> <a href="javascript:;" data-url="https://www.baidu.com">百度</a> </div> </body> </html>

    上面代码console.log($(a));打印的结果如下

    打开0:a

    能找到a标签的各种属性和事件

    因此,对a标签使用click()方法触发点击事件时需要加上[0],即$(a)[0].click();

    最新回复(0)