2012-03-05 16 views
1

私は私の仕事のために取り組んでいるいくつかのコードを持っています。私たちは、ページ上のすべてのリンクをループし、自動的にonclickイベントを追加しようとしています。しかし、ループはまったくループしているようには見えません。誰かが助けてくれますか?ここJavascript forループがループしない

var ourdomainname = "ourdomain.com"; 


function linkallthelinks(domain) { 
    var links = document.getElementsByTagName("a"); 
    for (i = 0; i < links.length; i++) { 
     var link = links[i]; 
     var href = link.getAttribute("href"); 

     if (href.indexOf(read_today) != -1) { 
      link.setAttribute('onclick', 'alert("Okay")'); 
     } 
    } 
} 
//function call 
linkallthelinks(ourdomainname);​ 
+4

'link.setAttribute( 'onclick'、 'alert(" Okay ")');' <<<これはイベントにどのようにアタッチするかです。 –

+2

機能に入るのですか?エラーメッセージがありますか?あなたはリストの長さをチェックしましたか? – talnicolas

+0

'read_today'は可変ですか?それは '' read_today''でしょうか? –

答えて

2

欠落引用符:

if(href.indexOf(read_today) != -1) 

は次のようになります。

if(href.indexOf('read_today') != -1) 

全体的には、これはあなたが持っているべきである:

var ourdomainname = "ourdomain.com"; 

function linkallthelinks(domain) { 
    var links = document.getElementsByTagName("a"); 
    for (var i = 0; i < links.length; i++) { 
     var link = links[i]; 
     var href = link.getAttribute("href"); 

     if (href.indexOf('read_today') != -1) { 
      link.setAttribute('onclick', 'alert("Okay")'); 
     } 
    } 
} 
//function call 
linkallthelinks(ourdomainname);​ 
+1

'onclick'関数の前後に引用符を入れないでください。 –

+1

これは 'link.setAttribute( 'onclick'、function(){alert(" Okay ")});'が間違っています。 OPはそれを正しくしていました。 ''警告( "Okay"); "は自動的に関数にラップされます。 –

+1

@Rocket:プロパティではなく*属性*を設定していますので、どちらの方法でも '.toString()'処理が得られます。 –

1

はこれを試してみてください。

if(link.href.indexOf("read_today") != -1)