1

「JavaScript Missing Manual」を読んでいますが、このリンク自体の横にリンクの URL を自動的に追加するスクリプトがあります。

$('a[href^="http://"]').each(function(){
    var href = $(this).attr('href');
    href = href.replace('http://', '');
    $['a'].after(' (' + href + ') ');
}); // end each

問題は、それがまったく機能しないことです。誰かがこのコードの何が問題なのか説明してもらえますか?

4

2 に答える 2

1

この行を変更

$['a'].after(' (' + href + ') ');

$('a').after(' (' + href + ') ');

$ は、配列ではなく関数として呼び出す必要があります。

あなたのコードを見ても、おそらく代わりにこれが欲しいでしょう:

$(this).after(' (' + href + ') ');

編集:

完全なコードは次のとおりです。

$('a[href^="http://"]').each(function(){
var href = $(this).attr('href');
href = href.replace('http://', '');
$(this).after(' (' + href + ') ');
}); // end each
于 2013-02-17T19:49:35.633 に答える
0

似ているが短いバージョンを提案してもよろしいですか?

$('a[href^="http://"]').each(function(){
    $(this).after(" ("+$(this).attr('href').replace("http://",'')+")");
}); // end each

かなり fmsf のソリューション + コードを少し短くするための小さな修正。o/

于 2013-02-17T20:16:47.857 に答える