所以我正在使用 Squarespace 模板,我认为发生某种行为的最简单方法(基本上是显示一个通常保持隐藏状态直到单击横幅的 div)是伪造对横幅本身的单击。
我这里有两个问题:
- 无法始终如一地挑选出特定元素,因为 ID 似乎每次都会发生部分变化。所以我基本上需要获取出现的此类的 first 元素和其中的 anchor 标记。
- 有了所有的嵌套,我不确定究竟需要点击什么。是 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/