2

この例を得ました:

<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

4

3 に答える 3

5

JS には、(私が知っている) テキスト コンテンツでノードを検索する方法がありません。

Array.prototype.forEach.call(document.getElementsByTagName('a'), function (elem) {
    if (elem.innerHTML.indexOf('LINK NAME') > -1) {
        window.location = elem.href;
    }
});
于 2013-02-22T00:26:16.010 に答える
2

ドキュメント内のリンクを反復処理し、テキストを確認します。

for(var i = 0, len = document.links.length; i < len; i += 1) {
    if(document.links[i].textContent === "LINK TEXT") {
        document.links[i].click();
    }
}
于 2013-02-22T00:30:51.207 に答える
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 
于 2013-02-22T00:35:24.990 に答える