2010-09-20 76 views
0

目前,我用它来检查,如果一个标签(元素)已经存在:如何检查jQuery UI中是否存在选项卡?

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

这是非常肮脏,我得到一个“未捕获的异常:语法错误,无法识别的表达式:#”从萤火。如果元素已经存在,那么“Alert”不会显示,我认为它在第一个异常处挂起。

有没有更好的方法来检查元素是否存在? (或制表符)

我用这对我的个人项目@http://www.soliman.nl/test/jqueryui/ui_2.php

回答

1

的问题似乎是在源 - 你逝去的“#foo”作为参数元素,然后在前面加上另一个“#”。结果是$("##foo"),这只是不会工作。

+0

哈哈;-)谢谢! – Soliman 2010-09-20 15:35:43

0

元素

的价值堂妹,如果这是null或空你的发言成为

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

可能会通过一些错误

这里是工作版本

​<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..."); 
}​ 

演示 http://jsfiddle.net/J3MdK/

+0

您需要在'var element'行中评论您的评论。 – RickF 2010-09-20 15:36:23

相关问题