0

私は次のような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

4 に答える 4

1

サポートする予定のブラウザに応じて、querySelectorAll最新のブラウザで実行できます。

document.querySelectorAll("a[data-type='via_mail']");
于 2013-02-13T15:24:33.583 に答える
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(); 

ライブデモ

于 2013-02-13T15:24:12.610 に答える
1

他の人が示したように、jQueryを使用/使用できる場合は、次のように簡単に使用できます。

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

ただし、サポートするブラウザがquerySelector/を実装している場合は、次のquerySelectorAllようにするだけです。

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

追加ライブラリなし。

于 2013-02-13T15:25:58.840 に答える
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"]');
于 2013-02-13T15:22:22.440 に答える