11550 sujets

JavaScript, DOM et API Web HTML5

Bonjour,
j'ai un fichier common.js que j'appelle dans toute mes pages :


$(document).ready(function(){
/*
* begin 
*/
// Header Menu
$("#nav").clickMenu();

$("#login").click(function () {
    $.blockUI({
        message: '<div id="login_replace"></div>'}
    });
    $('#login_replace').load('/auth/loginpop');
});

/* 
* End 
*/
});


Le problème est que souvent dans certaine page le menu header "#nav" n'existe pas du coup "$("#login").click(function () { " n'est pas executé le script s'arrete à $("#nav").clickMenu();

Y a t-il un moyen de tester si #nav existe ? Comment sortir de ce problème ?
Je vous remercie d'avance.
++
Modifié par alien7 (02 May 2008 - 16:41)
Bonjour,

a écrit :
Y a t-il un moyen de tester si #nav existe ? Comment sortir de ce problème ?


Une simple structure conditionnel fera l'affaire. Smiley smile
J'ai trouvé que ca :

if ($("#nav").length != 0) {
    $("#nav").clickMenu();
}


Je sais pas si c'est propre mais en tout cas ca marche.

Merci yodaswii
alien7 a écrit :
J'ai trouvé que ca :

if ($("#nav").length != 0) {
    $("#nav").clickMenu();
}


Je sais pas si c'est propre mais en tout cas ca marche.

On peut faire plus court:

if ($("#nav").length) {
    $("#nav").clickMenu();
}