2017-10-04 9 views
0

こんにちは私はこの問題を解決する必要がありますもっと<a> attr。別の上でクリックしたときに、私は同じWebページを取得します私はそれについて考え、問題はjQueryのコードであるHREFの問題はそれを修正できません

var socialIcons = $(".social a"), 
    href = socialIcons.attr("href"); 

socialIcons.on("click",function(e){ 
    e.preventDefault(); 

    setTimeout(function() { 
      window.location.href = href; 
    }, 500); 
}); 
+0

「.social」はいくつですか? – Huangism

+0

私は5つのリンクを持っています.Social a – user8722409

+0

それは働いていないのですが、Barmarの回答を参照してください – Huangism

答えて

2

あなたはページがロードされたとき、セレクタに一致する最初の要素の属性にhrefを設定しています、ユーザーが実際にクリックしたものではありません。変数をコールバック関数に設定し、クリックされた要素(ハンドラ関数のthis)に関連付ける必要があります。

socialIcons.on("click",function(e){ 
    e.preventDefault(); 
    var href = $(this).attr("href"); 
    setTimeout(function() { 
     window.location.href = href; 
    }, 500); 
}); 
+0

多くのありがとう、その働き、そしてHTMLコードでターゲットは_blankに設定されていますが、 jqueryで修正しますか? thx – user8722409

+0

'window.location.href ='の代わりに 'window.open()'を使う – Barmar

関連する問題