如何检查jQuery UI中是否存在选项卡?

时间:2010-09-20 15:03:49

标签: jquery-ui jquery-ui-tabs

目前我用它来检查标签(元素)是否已经存在:

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

这非常脏,我从FireBug得到一个“未捕获的异常:语法错误,无法识别的表达式:#”。如果元素已经存在,则“警报”不会显示,我认为它会在第一个例外处挂起。

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

我将此用于个人项目@ http://www.soliman.nl/test/jqueryui/ui_2.php

2 个答案:

答案 0 :(得分:1)

问题似乎在你的源代码中 - 你传递“#foo”作为参数元素,然后加上另一个“#”。结果是$("##foo"),这是行不通的。

答案 1 :(得分: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/