按属性定位链接

时间:2013-02-13 15:19:03

标签: javascript

我正在尝试通过javascript激活链接,如下所示:

<a class="second_link nobold" data-type="via_mail" href="http://swap.mtr.com/index.php?id=10&ctid=546432#">Send via mail</a>

我考虑通过class定位链接,但是该类有很多链接  如何通过data-type="via_mail"激活链接?

4 个答案:

答案 0 :(得分:1)

如果您只定位现代浏览器,则可以使用document.querySelector

document.querySelector('a.second_link[data-type="via_mail"]').click();

如果你可以使用jQuery:

$('.second_link[data-type="via_mail"]').click();

如果以上情况有帮助,您需要再写一些......

var ele = document.getElementsByTagName('a');
for (var i = 0; i < ele.length; i++)
    if (ele[i].getAttribute('data-type') == 'via_mail')
        ele[i].click(); 

Live DEMO

答案 1 :(得分:1)

根据您计划支持的浏览器,您可以使用大多数现代浏览器执行querySelectorAll

document.querySelectorAll("a[data-type='via_mail']");

答案 2 :(得分:1)

如其他人所示,如果使用/可以使用jQuery,你可以简单地拥有:

var link = $("a[data-type='via_mail']")[0];

但是,如果您要支持的浏览器实现querySelector / querySelectorAll,您可以简单地执行:

var link = document.querySelector("a[data-type='via_mail']");

没有额外的库。

答案 3 :(得分:0)

这个javascript应该适用于每个浏览器:

var anchors = document.getElementsByTagName("a");
for (i=0; i < anchors.length; i++) {
    if (anchors[i].getAttribute("data-type") == "via_mail") {
        // GOTCHA!
    }
}

如果你可以使用jQuery属性选择器:

$('a[data-type="via_mail"]');