javascript - 在页面加载时单击页面上的元素

标签 javascript jquery html css

所以我正在使用 Squarespace 模板,我认为发生某种行为的最简单方法(基本上是显示一个通常保持隐藏状态直到单击横幅的 div)是伪造对横幅本身的单击。

我这里有两个问题:

  1. 无法始终如一地挑选出特定元素,因为 ID 似乎每次都会发生部分变化。所以我基本上需要获取出现的此类的 first 元素和其中的 anchor 标记。
  2. 有了所有的嵌套,我不确定究竟需要点击什么。是 div 还是 anchor 标记,还是什么?

代码如下:

<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() 方法实际上并不会触发 anchor 的默认点击行为(它只会触发与jQuery 和内联点击处理程序)。您可以通过调用 DOM 元素的 native .click() 方法来解决这个问题。

将其与关于使用类定位第一个元素的注释放在一起:

$("document").ready(function() {
  $('.sqs-gallery-design-autocolumns-slide:first a')[0].click();
});

I'm not sure what exactly needs to be clicked. Is it the div, or the anchor tag, or what?

显示的 HTML 没有任何内联事件处理程序,因此我们无法判断您应该定位哪个元素。除了逻辑上它应该是 anchor ,因为只有键盘的用户才能“点击”。

关于javascript - 在页面加载时单击页面上的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40098632/

相关文章:

html+css usemap 不起作用

javascript - 移动设备标题下方的持久导航(如 iOS7 浏览器)

javascript - Vue.js mixin 在组件中无法正常工作

javascript - 使用 jQuery addClass 更改背景图像

jquery - 使用 jquery 选择 <select> 列表中的最后一项

javascript - 在 jquery 中增加 $_SESSION 索引

javascript - 我如何确定横幅未加载

JavaScript 如何使用数组和循环代替多个 if 语句

html - 如何使用 CSS 通过一个子元素而不是其他子元素影响元素的宽度

html - 在 HTML/CSS 中定位嵌入式视频?