要素のhref
を( #
ではなく) javascript:void(0);
に割り当てると、次のようになります。
$('#foobar').attr("href", "javascript:void(0);");
JSHintはjavascript:void(0);
コンストラクトをスクリプトURLとして取得します。
PS C:\Users\hal9000\Development\strugee.github.com> grunt lint
Running "jshint:all" (jshint) task
js\main.js
30 | $('#lightbulb-icon').attr("href", "javascript:void(0);");
^ Script URL.
>> 1 error in 4 files
実際には何もしておらず、意味的に有効な場合。 これらのタイプのスクリプトURLには例外があります。
おそらくこれは特別な警告である必要がありますか? これに戸惑ったのは私だけではありません。
あなたではない。
警告を無効にするには、ファイルの先頭に次の行を配置するだけです。
/*jshint scripturl:true*/
ただし、最良の方法は、hrefに「#」を使用し、すべてのjavascriptイベントに対して「false」を返すことです。
<a href="#" onclick="doSomething();return false;">my link</a>
いいえ、最善の方法は、JavaScriptをマークアップや属性から除外することです:P
@rwaldron :修正、確かに
$('#foobar').attr("href", "#").click(function() {
// do it
});
jslintを渡します:
$('#foobar').attr('href','javascript'+String.fromCharCode(58)+'void(0);');
@MikeGodinは別のバグのように見えます。
@kcampionが#を入れてfalseを返すことは、必ずしもdesirebaleではありません
私の場合、ハッシュを表示したくありません
最も参考になるコメント
警告を無効にするには、ファイルの先頭に次の行を配置するだけです。
ただし、最良の方法は、hrefに「#」を使用し、すべてのjavascriptイベントに対して「false」を返すことです。