选择并单击类中的链接
Selecting and clicking a link within a class
我正在修补一些javascript,想知道我将如何选择类中的第一个类。我希望能够转到一个页面并让用户脚本自动转到项目网格中第一个可用实例的链接。示例 html 如下所示:
<div class="item-wall">
<div class="grid-item" data-column-index="0" data-pdpurl="http://www.LINK1.com"> … </div>
<div class="grid-item" data-column-index="1" data-pdpurl="http://www.LINK2.com"> … </div>
<div class="grid-item" data-column-index="2" data-pdpurl="http://www.LINK3.com"> … </div>
<div class="grid-item" data-column-index="3" data-pdpurl="http://www.LINK4.com"> … </div>
<div class="paging-bar hidden"> … </div>
<div class="spacer"></div>
</div>
更具体地说,所需的最终结果是只转到第一个链接,www.LINK1.com
.我尝试使用索引,但我不知道该怎么做。
到目前为止,这就是我产生的结果。
waitForKeyElements ("DIV.item-wall", pickGrid)
function pickGrid (jNode) {
var clickEvent = document.createEvent ('MouseEvents');
clickEvent.initEvent ('click', true, true);
jNode[0].dispatchEvent (clickEvent);
}
不幸的是,这会遍历整个项目墙并选择最后一个实例并转到该链接。任何帮助将不胜感激。谢谢!
你应该能够使用 querySelectorAll 来获取你需要的东西。像document.querySelectorAll(".item-wall>.grid-item:first-child")
这样的东西应该有效。
扩展答案
离开您在问题中陈述的内容,如果您只想转到 data- 属性指定的 URL,您可以这样做:window.location.href=document.querySelectorAll(".item-wall>.grid-item:first-child").getAttribute("data-pdpurl")
使用 Tony 的选择器,再加上更多内容,您可以轻松获得链接:
纯JS:
document.querySelector('.item-wall>.grid-item:first-child[data-pdpurl]').getAttribute('data-pdpurl')
j查询:
$('.item-wall>.grid-item:first-child[data-pdpurl]').attr('data-pdpurl')
http://jsfiddle.net/paulinfrancis/yxsHN/
- 当链接单击-jQuery时,第二层下拉列表将隐藏
- 在聊天窗口中检测链接单击事件
- 超链接单击以加载新页面并执行JavaScript
- 超链接单击未启动
- 取消绑定 e.prevent默认 从另一个函数转发到链接单击
- 在链接单击时执行客户端脚本
- 链接单击事件不起作用
- 为什么我在链接单击时进行 jquery/ajax 调用时无法获取值
- 为什么第二个链接单击重定向到部分不是对话框
- 如何在编辑链接单击时首次加载页面时保留值
- 禁用链接单击,直到页面加载完毕
- 记录链接单击,然后保存到本地存储
- 通过动态超链接单击事件的调用方法传递对象或字符串
- 对链接单击后出现的隐藏信息进行刮擦解析
- 使用 jquery 根据链接单击切换 DIV 可见性
- Javascript文本链接单击以选择下拉选项值(onChange?
- 在链接单击上创建一个对话框,javascript第2部分
- javascript中的递归循环,基于链接单击的增量
- 在链接单击事件上返回true是't工作
- 链接单击上的Javascript和Jquery无冲突功能