2011-06-20 8 views
2

は、私は、HTMLhrefをdata-hrefの値に置き換えるにはどうすればいいですか?

<a href="" data-href="/somefile.php?id=10&refcode=/test.php">Hello</a> 

以下のように持っていると私は上記の

<a href="/somefile.php?id=10&refcode=/test.php">Hello</a> 

//the following doesnt work .. 

$(function() { 
$('a[data-href]').attr('href', $(this).attr('data-href')); 
}); 

任意の提案のようなものになるように、データのhrefの値とのhrefを交換する必要がありますか?基本的には、検索エンジンやボットなどから何らかの理由でリンクを隠したいのですが、もし私が上記の作業をすることができれば幸いです。ありがとう。

+0

ちょうどfyi、私は最新のJqueryを使用しています。 – Kay

+0

@Kay:実際のバージョン番号を指定します。これにより、今後も文が有効になります。 –

+1

これは最良のアイデアではない、多くのクローラが今ではjavascriptを実行できるようになりました。 – Radu

答えて

9

$(this)は、この場合はa要素を参照していません。

は、関数内a要素にthisキーワードを結合するeach(function() {})を使用して

$('a[data-href]').each(function() { 
$(this).attr('href', $(this).attr('data-href')); 
}); 

試してみてください。

+0

+1修正。 –

+0

に変更するか、 '$( 'a [data-href]')'に '$(this) 'を切り替えてください。 – AndyL

+0

@AndyLは動作しません。そうすれば、最初の 'data-href'値しか得られません。各要素をループしません。 –

関連する問題