在页面加载时点击页面上的元素

Having an element on a page clicked on page load

本文关键字:元素 加载      更新时间:2023-09-26

所以我正在使用一个Squarespace模板,我认为最简单的方法是有一个特定的行为发生(基本上显示一个div,通常保持隐藏,直到一个横幅被点击)是假装点击横幅本身。

我有两个问题:

  1. 特定的元素不能被一致地挑出来,因为ID似乎每次都部分地改变。所以我需要得到这个类的第一个元素和锚标记。
  2. 有了所有的嵌套,我不确定到底需要点击什么。是div,还是锚标签,还是别的?

代码如下:

<div class="item sqs-gallery-design-autocolumns-slide" id="someidthatchanges" data-type="image" style="top: 0px; left: 0px; width: 1440px; height: 514px;" overlaydelay="236">
      <a href="thelink" data-dynamic-load="" data-dynamic-receiver="#somestuff" id="idthatchanges">
        <div class="wrapper" id="idthatchanges">
          <div class="project-title" id="idthatchanges">
            <h2 id="idthatchanges">+</h2>
            <h3>— view —</h3>
          </div>
        </div>
        <img src="someUnimportantImage.gif"/>
     </a>
</div>

这是我不成功的jQuery尝试:

$("document").ready(function() {
  $('#changingDivID').find('a').trigger('click');
});

以上在控制台中也不起作用(即使ID是正确的),但没有给出任何错误,因此它似乎是某种类型的目标问题。

任何想法?

调用.trigger('click')或jQuery的.click()方法实际上不会触发锚的默认点击行为(它只是触发与jQuery和内联点击处理程序绑定的事件处理程序)。你可以通过调用DOM元素的原生.click()方法来解决这个问题。

把它和你关于用class:

定位第一个元素的注释放在一起
$("document").ready(function() {
  $('.sqs-gallery-design-autocolumns-slide:first a')[0].click();
});

我不确定到底需要点击什么。是div,还是锚标签,还是别的?

显示的HTML没有任何内联事件处理程序,所以我们不能告诉你应该瞄准哪个元素。除了逻辑上它应该是锚点,因为只有键盘用户才能"点击"。

也许你想要的是这样的。

$(document).ready(function(){
 $(".item.sqs-gallery-design-autocolumns-slide").find("a").click();
})