2010-09-20 3 views
0

Actuellement, je l'utiliser pour vérifier si un onglet (élément) existe déjà:Comment vérifier si un onglet existe dans l'interface utilisateur jQuery?

if(!$('#'+element).length){ 
    //... code to add new tab if not exists. 
} else { 
    Alert("Tab or portlet already exists..."); 
} 

Ceci est très sale et je reçois une « exception uncaught: Erreur de syntaxe, expression non reconnue: # » de Firebug. Si l'élément existe déjà, le "Alerte" ne s'affiche pas, je pense qu'il se bloque à la première exception.

Existe-t-il un meilleur moyen de vérifier si un élément existe? (Ou un onglet)

J'utilise pour mon projet personnel @http://www.soliman.nl/test/jqueryui/ui_2.php

Répondre

1

le problème semble être dans votre source - vous passez « #foo » comme élément de paramètre, puis un autre préfixer « # ». Le résultat est $("##foo"), ce qui ne va tout simplement pas fonctionner.

+0

lol ;-) merci! – Soliman

0

s'il vous plaît vérifier la valeur de élément

coz si cela est nul ou vide votre déclaration se

if(!$('#').length){ 
or 
if(!$('#null').length){ 

qui peut à travers une erreur

est la version de travail

​<html> 
<body> 
    <p id="test"></p> 
</body> 
</html> 

var element = "test"; //if you try to comment this line or change value , it will give error 
if(!$('#'+element).length){ 
    alert("do something"); 

} else { 
    alert("Tab or portlet already exists..."); 
}​ 

Demo http://jsfiddle.net/J3MdK/

+0

Vous devez commenter votre commentaire dans la ligne 'var element'. – RickF