だから私はこれを持っています...
$(this).attr("href", "http://site.com/images/downloads/wp-" + $(this).parent().parent().attr("id") + "-1024x768.jpg");
問題は、右クリック > 名前を付けてリンク先を保存... を選択しても、適切な画像にリンクされないことです。これが可能かどうかはわかりませんが、誰かがこれについて私を助けてくれれば本当に感謝しています。ありがとう!
だから私はこれを持っています...
$(this).attr("href", "http://site.com/images/downloads/wp-" + $(this).parent().parent().attr("id") + "-1024x768.jpg");
問題は、右クリック > 名前を付けてリンク先を保存... を選択しても、適切な画像にリンクされないことです。これが可能かどうかはわかりませんが、誰かがこれについて私を助けてくれれば本当に感謝しています。ありがとう!
Firebug や DOM Inspector などの診断ツールを使用して、属性の実際の最終値を調べます。
クリックと保存の動作の違いの最も簡単な説明は、イベントがインターセプトされている場合です。「名前を付けて保存」は実際の href 値を使用しますが、それ以外の方法でリンクを選択すると (キーボード、マウスのダウンとアップ、クリック)、場所を別の場所に設定できます。
これを設定している可能性があります$(document).ready()
が、使用しているという事実は、コードが のイベントに$(this)
バインドされていることを示しています。リンクの上にカーソルを置いても、変更された href が表示されず、訪問者がリンクをクリックするまで値が変更されない理由を説明できます。onclick
<a>
$(document).ready()
私の疑いを確認するために、あなたの関連セクションを参照していただけますか?
私が正しければ、解決策は、ready()
その時点で onclick イベントにバインドするのではなく、処理の一部として href を変更することです。
ここにアイデアがあります... phpによって生成されたhtmlに「実際の」場所を入れます
次に、「偽の」場所に追加の属性を追加し、jquery を使用してページロード時にそれらを切り替えます。これは状況に応じて機能します (つまり、ユーザーが js を無効にしていて、「実際の」場所を使用している場合、すべてが台無しになるわけではありません)。
これはあなたの問題を解決し、ほとんどすべてのユーザーにとって最終結果を同じに保ちます:)