1

他の人のアプリを使用していて、特定の href を持つ < a>< /a> タグの間の innerHTML を変更したいと考えています。しかし、これらのリンクには関連付けられたクラスや ID がなく、コードを編集してクラスや ID を与えることはできません。JavaScript で href によってタグを取得する方法はありますか? 私はこれに似た何かをしたかった:

var theLink = document.getElementByHref("example.com");

それが不可能な場合は、ページ内のすべてのリンクをループして、探している特定の href と innerHTML を持つリンクを選択できますか?

4

10 に答える 10

2

DOM3-attribute-selector ( jQuery doc ) を使用して、属性に特定のテキストを含むすべての要素を取得できhrefます。次のようになります

$('a[href*="example.com"]')

ただし、それは実際に望んでいるものではない可能性があります。そのドメインへの URL だけでなく、この文字列が含まれている可能性もあります。次で始まるようなことをするかもしれません:

$('a[href^="http://example.com"]')

ただし、正確で、場合によってはより複雑な一致を得るために、カスタムフィルターを回避することはできません。

$('a[href]').filter( function() {
     return this.hostname == "example.com";
     // or check other properties of the anchor element
})
于 2012-10-10T15:57:13.173 に答える
1

属性にexample.com値を持つすべての要素を選択します。href

ライブデモ: http://jsfiddle.net/NTGQz/

$('a[href*="example.com"]');

より具体的に、OPの「理想的な」答えに従うために、これを試すこともできます。

ライブデモ: http://jsfiddle.net/ksZhZ/

jQuery.fn.getElementsByHref = function(str){ return $('a[href*="' + str + '"]'); };

$(document).ready(function(){        
   elems = $(this).getElementsByHref('example.com');
});
于 2012-10-10T15:39:56.647 に答える
0
$('a[href="http:google.com"]')
于 2012-10-10T15:41:05.240 に答える
0

jQueryなしでこれを行うことができます。

var links = document.querySelectorAll('a[href*="example.com"]');
于 2012-10-10T15:46:04.233 に答える
0

JQuery属性セレクターを使用すると、次のことができます。

$('a[href="example.com"]')
于 2012-10-10T15:40:18.563 に答える
0

これを試して

$('a[href*="example.com"]');

これにより、href 属性に example.com を持つリンクが選択されます。

于 2012-10-10T15:40:22.940 に答える
0

あなたはjqueryでそれを行うことができます: http://api.jquery.com/attribute-equals-selector/

例: linksToGoogle = $('a[href="http://google.com"]');

于 2012-10-10T15:43:03.290 に答える
0

jQuery には多くのセレクターがあります。ここで必要なのは属性セレクターです。

$('a[href="example.com"')
于 2012-10-10T15:40:03.197 に答える
0

属性セレクターを使用できます。

$('a[href="http://example.com"]')
于 2012-10-10T15:40:05.490 に答える
0

ユーザーがIE8+ またはその他のブラウザーを使用している場合は、 querySelectorAllを使用してネイティブにこれを行うことができます。このメソッドは、一致する要素のNodeListを返します。

document.querySelectorAll('a[href="exact/value.html"]');    // exact match
document.querySelectorAll('a[href*="partial/value.html"]'); // partial match
document.querySelectorAll('a[href^="starts/with"]');        // href starts with
document.querySelectorAll('a[href$=".html"]');              // href ends with
于 2012-10-10T15:49:56.253 に答える