jquery 如何使用JavaScript点击链接

a6b3iqyw  于 2023-11-17  发布在  jQuery
关注(0)|答案(8)|浏览(253)

我试图点击下一个链接的html页面,但有困难。
我必须获取主div的elementbyclassname,然后单击div的第二个元素,这是我想单击的页面的HTML:

  1. <div class="next-previous">
  2. <a href="http://website.net/560339/1/">Previous </a>
  3. <a href="http://website.net/560339/2/">Next</a>
  4. </div>

字符串
这是我迄今为止尝试过的JavaScript。

  1. var nextlink = document.getElementsByClassName('next-previous');
  2. nextlink[0].click();

mklgxw1f

mklgxw1f1#

你点击的是div,没有效果。你需要点击a
nextlink[0].click()替换为nextlink[0].lastElementChild.click(),它应该可以工作。
演示(将链接目标替换为警报):

  1. var nextlink = document.getElementsByClassName('next-previous');
  2. nextlink[0].lastElementChild.click();

个字符

cwtwac6a

cwtwac6a2#

我很困惑。你的问题被标记为jQuery,但你使用的是Vanilla. JS。
总之:

jQuery:

  1. $("div.next-previous>a:nth-of-type(2)").click()
  2. // clicks on second <a>

字符串

Vanilla.JS

  1. document.getElementsByClassName('next-previous')[0].children[1].click()
  2. //does the same
  3. //gets an array of elements with the class 'next-previous', takes the first, then takes the second child and clicks on it

展开查看全部
krcsximq

krcsximq3#

或者,你可以使用CSS选择器进行过滤:

  1. document.body.querySelector(".next-previous a:nth-child(2)").click();

字符串

gwbalxhn

gwbalxhn4#

我的微薄贡献,盲目射击,虽然因为你的问题不清楚:

  1. var clsA = document.querySelectorAll('.cls > a');
  2. clsA[0].addEventListener('click', function (ev) {
  3. var span;
  4. ev.preventDefault();
  5. span = document.createElement('span');
  6. span.textContent = ' allo';
  7. this.parentNode.appendChild(span);
  8. });

个字符

5sxhfpxr

5sxhfpxr5#

您可以使用

  1. $('.next-previous a').trigger('click');

字符串

或者这样也行

  1. $('.next-previous').find('a').trigger('click');


正如我所看到的,你在<div>中有多个<a>标签,所以我建议对每个<a>标签应用唯一的classid。这样可以更容易地引用js/jquery中的链接否则你将需要使用ElementChild属性。

pepwfjgg

pepwfjgg6#

流这篇博客文章.我认为这将有助于你理解为什么锚不点击JavaScript. http://blog.stchur.com/2010/01/15/programmatically-clicking-a-link-in-javascript/

l0oc07j2

l0oc07j27#

window.location.href和超链接点击使用JavaScript或触发器使用jQuery不工作在最新版本的浏览器的一样微软Edge和Chrome.作品以及边缘和Chrome function link_Click() { setTimeout(function(){document.location.href = "page.html;"},1); }

5w9g7ksd

5w9g7ksd8#

你需要使用:nth-child()来获得想要的孩子。

  1. var nextlink = document.document.querySelectorAll('.next-previous:nth-child(2)').click(); // click the second link

字符串

  1. var nextlink = document.document.querySelectorAll('.next-previous:nth-child(2)').click();
  1. <div class="next-previous"> <a href="http://website.net/560339/1/>Previous</a>
  2. <a href="http://website.net/560339/2/">Next</a>
  3. </div>

的数据

相关问题