2013-12-15 1 views
-1

Я добрая к Javascript и JQuery, и все, что я хотел сделать, это простой тест для панели навигации. Я пытаюсь понять, почему мой Jquery не работает вообще ... и когда я стираю свои 2 первые строки Javascript, все работает отлично ... что, черт возьми ??? Кто-то может объяснить мне, почему это так?2 строки Javascript поверх JQuery не работают?

Моего 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

, когда вы делаете $ (". Libar"), вы пытаетесь получить доступ к каждому элементу с классом = "libar", но когда вы делаете $ (" #libar ") вы получаете доступ к кнопке с id =" libar ". –

0

Вы получаете элементы Dóm BY ID первые, и ссылаясь позже на КЛАСС.

0

Я думаю, вы не в состоянии различать «класс» и атрибут «ID».

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

// Использование JQuery, вы должны переписать его как

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

Так в JQuery "идентификатор" атрибут HTML элементов, доступ с помощью "#" где атрибутами класса являются доступ с помощью «.».

Надеюсь, что это поможет.

0

попробовать это

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

вместо

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

Я думаю, что у вас есть класс в вашем HTML, не ид

ИЛИ

Вам нужно добавить идентификатор в HTML

Смежные вопросы