Javascript 如果jquery中的循环不起作用

Javascript 如果jquery中的循环不起作用,javascript,jquery,html,Javascript,Jquery,Html,我想根据if条件使用jquery向标记添加一个类 代码是 if ($(".asp:contains('Home')")) { $("ul.nav-pills a:contains('Home')"). parent().addClass('active'); } else if ($(".asp:contains('List')")) { $("ul.nav-pills a:contains('List')"). parent().addClass('acti

我想根据if条件使用jquery向标记添加一个类 代码是

  if ($(".asp:contains('Home')")) {
    $("ul.nav-pills a:contains('Home')").
    parent().addClass('active');
}
else if ($(".asp:contains('List')")) {
    $("ul.nav-pills a:contains('List')").
    parent().addClass('active');
}
我做得对吗?

$()
返回一个jQuery对象,总是。jQuery对象不是错误的。如果要查看是否有匹配项,请使用
.length
[0]

因此:


那么你的
html
代码在哪里呢?你是否做得对取决于你到底在做什么,以及你期望的是什么?
如果($(“.asp:contains('Home'))
总是被评估为
true
,你需要检查
长度
如果($(.asp:contains('Home')))。长度)
的含义是什么[0]?@JatinAsija:按照我上面使用它的方式,它可以有效地检查jQuery对象是否为空——例如,选择器没有匹配任何内容。您可以像索引数组一样索引到jQuery对象中;如果在该索引中有一个条目,则获得原始条目(例如,DOM元素)与数组一样,如果查找不存在的条目,则得到值
undefined
,这是错误的,而非
null
对象引用是真实的。因此
blah[0]
在索引0处查找条目,如果存在条目,
if(blah[0])
将进入
if
的主体。
if ($(".asp:contains('Home')")[0]) {
    $("ul.nav-pills a:contains('Home')").parent().addClass('active');
}
else if ($(".asp:contains('List')")[0]) {
    $("ul.nav-pills a:contains('List')").
    parent().addClass('active');
}