2011-01-12 48 views
0

これは機能しません。私はJavaScriptに無いhrefの値を持つすべてのリンクを設定したい:無効(0)に自動的に外部JSに...すべてのhref値を自動的に設定します

var hLink=document.getElementsByTagName("a"); 
for (i=0;i<hLink.length;i++) { 
    if (hLink[i].getAttribute('href')==null) { 
    hLink[i].setAttribute('href','javascript:void(0)'); 
    } 
} 
+0

コードを投稿して読めるようにすると、人々はあなたを助けてくれるはずです。 – MatrixFrog

+0

ようこそStackoverflowへ。フォーラムとは少し違います。 http://stackoverflow.com/faqをお読みください – naveen

答えて

3

これを試してください。

var anchors = document.getElementsByTagName("a"); 
for (i = 0; i<anchors.length; i++) { 
    if(!anchors[i].href) { 
     anchors[i].href = 'javascript:void(0)'; 
    } 
} 
2

href属性が設定されていない場合getAttribute('href')戻りnullまたは''場合、私は覚えていないことができます(空の文字列)。実際、ブラウザによって異なる場合があります。私はあなたのif文を変更しますnull''は両方falsy valuesなので

if (!hLink[i].getAttribute('href')) 

、あなたはどちらの方法をカバーしています。

関連する問題