2013-04-04 47 views
3

我目前使用带有jQuery命令的.js文件来查找.xml文件的某些元素。我已经能够收集我想要的所有数据,但是在演示过程中遇到了一些困难。检查选择器在jQuery中是否空白

我使用的多个.xml文件加载相同的.js脚本。数据以html文档和列表形式收集。下面是代码:

 $upgrade1 = $(xml).find("upgrades").eq(0).next(); 
     $upgrade2 = $(xml).find("upgrades").eq(1).next(); 
     $upgrade3 = $(xml).find("upgrades").eq(2).next(); 
     $("#upgrades").append($upgrade1.text() + "<li>" + $upgrade2.text() + "</li><li>" + $upgrade3.text() + "</li>"); 

现在你可以看到第一个选择编译他们所需要的文本,然后将其添加到<li class ="upgrades">。现在问题在于某些.xml文件将只有1或2个升级而不是全部3.然而,由于.append()中的<li>元素,该函数仍将绘制空白项目点。最简单的解决方案是使用if语句,但是我似乎无法找到任何地方如何检查选择器是否为空?只有提到检查表单元素,但这对我没有帮助。可能是一种检查空字符串或小于1个字符的字符串的方法吗?我不知道...

有没有人有任何想法?

+0

也许看[这里:(http://stackoverflow.com/questions/6813227/how-do-i-check-if-an-html-element-is-empty-using-jquery) – 2013-04-04 19:44:51

回答

6

使用length

if ($('whatever').length == 0) { 
    // It's empty 
} 
2

您还可以通过调用查询中的每一个来隐式地使用选择器。

$("whatever").each(function() { 
    var ctl = $(this); 
    ctl.text("bob jones"); 
}); 

通过这种方式,您将自动抛弃您没有得到任何结果的实例。