2013-12-15 43 views
-1

我對JavaScript和Jquery有點新鮮,我想做的只是一個簡單的導航欄測試。我想弄清楚爲什麼我的Jquery根本不起作用......當我刪除了我的第一行Javascript時,一切正常......什麼是地獄?有人可以解釋我爲什麼這樣?在Jquery之上的2行Javascript不起作用?

我的HTML:

<div id="navbar"> 
    <ul class="ulbar"> 

    <li id="libar">a 
     <div id="navbar2"></div> 
    </li> 

    </ul> 
</div> 

我的JS和jQuery(在相同的.js):

var buttonA = document.getElementById("libar"); 
var buttonB = document.getElementById("navbar2"); 

$(".libar").click(function(){ 

    $(".navbar2").hide("slow", function() { 
alert("test"); 

    }); 

}); 

謝謝大家

+2

你在控制檯中看到什麼? – SLaks

+0

請發佈您的控制檯中顯示的錯誤。我無法想象任何會使前兩行產生錯誤的情況。嘗試使用'document.getElementById'選擇不存在的元素不會導致任何會導致腳本失敗的異常。它只會返回'null'。 –

+0

你能正確地包含你的HTML併發布你的完整的JS(萬一有更多的)? – xorinzor

回答

0

嘗試

$(buttonA).click(function(){ 

    $(".navbar2").hide("slow", function() { 
alert("test"); 

    }); 

}); 
+0

答案相當快!我想刪除我的帖子,因爲很顯然,這很容易,但是我不能,你比我快得多:P謝謝!我真的很感激。 <3 – user3038607

+0

我不明白這是如何造成這個問題的。 – xorinzor

+0

當你嘗試訪問class =「libar」的每個元素時,當你做$(「。libar」),但是當你做$(「 #libar「)你訪問id =」libar「的按鈕。 –

0

你是第一個剛開的DOM元素BY ID,和稍後參考BY CLASS。

0

我猜你是不是能夠在「類」和「id」屬性來區分。

//在JavaScript var buttonA = document.getElementById("libar").value;

//使用jQuery,您應使用 「#」 把它改寫爲

var buttonA = $('#libar').val();

所以在jQuery的 「ID」 HTML元素的屬性被訪問作爲「類」屬性使用「。」訪問。

希望有所幫助。

0

試試這個

var buttonA = document.getElementsByClassName("libar"); 
var buttonB = document.getElementsByClassName("navbar2"); 

代替

var buttonA = document.getElementById("libar"); 
var buttonB = document.getElementById("navbar2"); 

我覺得你在你的HTML,而不是ID上課

OR

你需要在HTML

添加ID
相關問題