2016-10-21 2 views
0

hrefタグが#のリンクになっているときにhrefタグを無効にしたい場合は、他のサイトにリンクを張っているWebページにたくさんの投稿があるからです私のパートナーです。 私はポストを作成するとき、私はそれに情報を入れて、投稿と関係している誰かのサイトがパートナーシップを望んでいて、それらにリンクしているなら、hrefリンクを準備するのを簡単にするテンプレートを持っています。 私の古い投稿には#値のhrefタグが付いていますが、それらをクリックすると別のタブでページを開くので、できる限りJavaScriptを無効にしたいのですが(他の誰かがジョブが値が宣言されているときにhrefタグを無効にする

おかげ

+0

を失わせるためにCSSを追加することができますしたい場合は@ RobScott:どちらも失敗します。 –

+1

@RobScott:Kevin'sは無効な文字列を 'gEBTN'に渡し、結果が(もしうまくいけば)' .forEach'メソッドを持っているとふりまくっています。イワンはケビンの2番目の間違いをします。 –

+0

...混乱はなぜ彼らが投票されたからであるべきですか? –

答えて

2

)細かすぎるの最も簡単な方法は、次のようになります。

var emptyAnchors = document.querySelectorAll('a[href="#"]'); 

for (var i = 0; i < emptyAnchors.length; i++) { 
    emptyAnchors[i].addEventListener('click', preventDefaultEvent); 
} 

function preventDefaultEvent(e) { 
    e.preventDefault(); 
} 

このリンクをクリックしたときに、デフォルトの動作を(HREFターゲットを開く)を防止します。

+0

ありがとうございました –

0

あなたは、イベントでのpreventDefault()を追加し、特定の#1のhref

ES6構文

const elements = document.getElementsByTagName("a[href='#']"); 

ES5構文

var elements = document.getElementsByTagName("a[href='#']"); 

であなたのタグを選択することができます各要素のデフォルトの動作が実行されないようにします。

ES6構文

elements.addEventListener('click', e => { 
    e.preventDefault(); 
}); 

ES5構文

elements.addEventListener('click', function(e){ 
    e.preventDefault(); 
}); 

あなたはあなただけのタグは、デフォルトのスタイル

a[href="#"] { 
    color: black; 
    pointer-events: none; 
    text-decoration: none; 
} 
+0

letはES6のみであるため、変数を宣言するためにES5バリエーションを追加することをお勧めします。 –

+0

ああ、それを指摘していただきありがとうございます!そのようなルーチンになってみましょう: ') – Kevin

+0

私のES6変数宣言は、constであってもletではないはずです。 – Kevin

関連する問題