2012-02-15 22 views
0

もう一度私です!jquery load page with switch case

今、私はこのスイッチケースで何が間違っているのかわかりません...私を助けることができますか?

私はいくつかのLINKをクリックすると、アラートがつくれいけない...

これが私のHTMLです:

<div class="menu-site"> 
     <ul class="topo-menu" id="topo-menu"> 
      <li id="aabruzzo">a abruzzo</li> 
      <li id="catalogo">catálogo</li> 
      <li id="conceito">conceito inverno</li> 
      <li id="representantes">representantes</li> 
      <li id="clipping">clipping</li> 
      <li id="loja">loja</li> 
      <li id="contato" class="sem-right">contato</li> 
     </ul> 
    </div> 

これが私のjavascriptです:

jQuery(document).ready(function(){ 


     var sections = $("#topo-menu li"); 
     var loading = $("#loading"); 
     var content = $("#content"); 

     sections.click(function(){ 
      switch(this.id){ 
       case 'aabruzzo': 
        alert("teste"); 
        break; 
       case "catalogo": 
        alert("teste"); 
        break; 
       case "conceito": 
        alert("teste"); 
        break; 
       case "representantes": 
        alert("teste");); 
        break; 
       case "clipping": 
        alert("teste"); 
        break; 
       case "loja": 
        alert("teste"); 
        break; 
       case "contato": 
        alert("teste"); 
        break;       
       default: 
        hideLoading(); 
        break; 
      } 
      }); 

私はこのfiddleを持っています

+0

@Alex K.は、多少の誤差は、彼のを確認しましたあなたが更新されたjsFiddleが必要な場合は、ここでそれを見つけることができますhttp://jsfiddle.net/D2Cqt/7/ – Tom

答えて

6

#idここに:(そのjquery表記であり、法的にはidの開始文字ではありません)。

<ul class="topo-menu" id="#topo-menu"> 

、ここで余分な);を修正:

alert("teste");); 

ます。また、ケース"aabruzzo"を探したがidは(あなたのフィドルで)"aabruzo"ある

+0

良いキャッチ。 +1 – crush

+1

彼はいくつかのことも忘れていました。 Upvoted、そしてここに更新された固定jsFiddle http://jsfiddle.net/D2Cqt/7/ – Tom

+0

ええ..私はjsFiddleリンクを投稿した後これを見る。しかし、まだ私のページで働いていない。私のjavascritpは外部のファイルにあり、この影響は何ですか? – Preston

1

this.idthis.attr('id')である必要があります。 jQueryオブジェクト。

+0

いいえ、そうではありません - 'this'は実際のDOM要素です。 jQuery関数を使用する場合は、 '$(this)'を使用してjQueryオブジェクトにラップする必要があります。 –