何らかの理由でできない場合は、現在アクティブな画像でこれを試してください
$("active image identifier selector a").attr("href", "link to add");
$("all images selector").not("active image identifier selector").find("a").removeAttr("href")
removeAttrを使用してもリンクが無効になるわけではなく、完全に削除されます。それが目的かどうかはわかりません。確認のために、リンクを非アクティブ化するか、完全に削除しますか。
e.preventDefaultはリンクを無効にするだけで、削除はしません。
2番目の画像がアクティブで、$( "images a")。attr( "href"、 "link to add")のようなことをしたとすると、その画像に追加するリンクと、画像が次のようになったときに先行する画像をどのように知ることができますかhref属性をほとんど破棄したため、アクティブになります。
私が提案する解決策は、次のようなリンクのデータ属性にリンクを格納することです。
//store href in link data for each link to be deactivated
$("all images selector").not("active image identifier selector").each(function(){
var $this = $(this);
//get url of link
var url = $this.attr("href");
//store url in a data attribute for that link
$this.data("my-url", url);
$(this).removeAttr("href");
});
//get data attribute of active image and readd href attribute
$("active image identifier selector a").attr("href", $("active image identifier selector a").data("my-url"));
これを試して、それが役立つかどうか私に知らせてください。それを行うのに最も効率的な方法ではないことに注意してください。リンクをループするためのより最適化された関数があるかもしれませんが、それを機能させることが最初に優先されます。
乾杯。