何らかの理由で、このコード行は未定義を返しています$(this).attr("href")
$("a").attr("href", "javascript:page('" + $(this).attr("href") + "')");
どうすればその値を取得できますか?
何らかの理由で、このコード行は未定義を返しています$(this).attr("href")
$("a").attr("href", "javascript:page('" + $(this).attr("href") + "')");
どうすればその値を取得できますか?
$("a").click(function(e){
e.preventDefault();
page(this.href);
});
試す:
$("a").attr("href", function (index, oldHref) {
return "javascript:page('" + oldHref + "')");
});
attr
関数参照を受け取るオーバーロードについては、ドキュメントを参照してください。
@Pointy が指摘しているようにjavascript:
、マークアップ内で使用するのではなく、イベント ハンドラーを作成することを検討する必要があります。
これは、href属性にJavascriptを必要としない代替アプローチです。
$('a').click( function(e) {
e.preventDefault();
page(this.href);
} )
インラインJavaScriptは必要ありません。以下のようにしてみませんか?
$("a").click(function(){
page(this.href);
return false;
});
それをしたい場合(ページ上のリンクのすべての href 属性を更新する)、あなたはすることができます
$("a").each(function() {
$(this).attr("href", "javascript:page('" + $(this).attr("href") + "')");
});