2014-02-11 108 views
-6

我在工作,必須更改一小部分Jquery代碼,以便它只使用Javascript,不使用Jquery。我沒有被教過如何只使用Javascript,我只被教過如何使用Javascript(我知道,這太可怕了)。這是Jquery代碼:Javascript - 在元素中循環並添加一個類

var counter = 0; 

$(document).ready(function() { 

    $('.Content ul li a').click(function() { 
     if ($(this).hasClass('clicked')) { 
      //do nothing 
     } else { 
      $(this).addClass('clicked'); 
      counter += 1; 
     } 

     if (counter == 3) { 
      // call a function 
     } 
    }); 

}); 

該代碼相當小。有人可以將它轉換爲只爲我的Javascript?

+6

這將花費'$ 20'! –

+1

_jQuery_是「Javascript」! –

+0

@MohammadAdil哈哈,來吧,它只是一小段代碼,而且它是我必須改變的唯一代碼。我不想學習Jquery到Javascript轉換(這只是學習正確的Javascript)只是爲了這一小段代碼。 – user2817200

回答

1

在這裏你去:http://jsfiddle.net/29Sby/1/

<style> 
.clicked{color:green; font-weight:bold;} 
</style> 

<a id="link1" href="javascript:void(0); /*put URLs here if you need to*/" onclick="doStuff(this)">LINK 1</a><br/> 
<a id="link2" href="javascript:void(0);" onclick="doStuff(this)">LINK 2</a><br/> 
<a id="link3" href="javascript:void(0);" onclick="doStuff(this)">LINK 3</a><br/> 
<a id="link4" href="javascript:void(0);" onclick="doStuff(this)">LINK 4</a><br/> 
<a id="link5" href="javascript:void(0);" onclick="doStuff(this)">LINK 5</a><br/> 

<script> 
var counter = 0; 

doStuff=function(obj) 
{ 
    //alert(obj.id); 
    if (obj.className === 'clicked') { 
     //do nothing 
     alert('already clicked'); 
    } else { 
     obj.className = 'clicked'; 
     counter += 1; 
    } 

    if (counter === 3) { 
     alert('call a function if you want'); 
    } 
} 
</script> 
+2

hasClass()相當於檢查string類的className indexOf,一個元素可以有多個類 –

相關問題