使用没有id / class的javascript自动链接

时间:2013-02-22 00:19:51

标签: javascript click location

得到了这个例子:

<html>
<head>
<script type="text/javascript">
    function init(){
        var linkPage = document.getElementById('linkid').href;
        window.location.href = linkPage;
    }
    onload=init;
</script>
</head>
<body>

<a href="someplace.html" id="linkid">GO HERE</a>

</body>
</html>

此脚本点击“GO HERE”链接。 (效果很好)

但在我的例子中,我没有链接中的类或ID。

<a href="someplace_with_session.php&c=ToMNi1ffNs4qf55cSmaisSvv3h8NqUliyO&o=16cb29acefffyccc83bbd8e&r=338a8d7492839096df1dd">LINK NAME</a>

唯一不变的是链接的名称(“LINK NAME”)

是否可以搜索“LINK NAME”,然后像上面的工作脚本一样点击它?

或能做我需要的事情:D

3 个答案:

答案 0 :(得分:5)

JS没有办法按文本内容搜索节点(我知道)。

Array.prototype.forEach.call(document.getElementsByTagName('a'), function (elem) {
    if (elem.innerHTML.indexOf('LINK NAME') > -1) {
        window.location = elem.href;
    }
});

答案 1 :(得分:2)

迭代文档中的链接并检查文本:

for(var i = 0, len = document.links.length; i < len; i += 1) {
    if(document.links[i].textContent === "LINK TEXT") {
        document.links[i].click();
    }
}

答案 2 :(得分:2)

我只使用以下位,它使用jquery选择。

var link = $("a:contains('LINK TEXT')"); //get the a
var click = document.createEvent("Event"); //create event
click.initEvent("click", true, true);
link.dispatchEvent(click); // make it happen