if(.something:contains(text).add Class,if else(:contains(other Text).addClass

时间:2013-06-10 20:31:22

标签: jquery if-statement contains

短篇小说:我们失去了我们的php家伙,直到我们得到一个新的我使用这个hackey方法来实现向tr添加图标的目标。

所以我得到的这个表有4个类别我想要应用图标,我试着写if else语句但是没有得到我想要的结果。这是我的代码的脏版本:

if ($('.summary:contains("Sharks")').each(function () {
     $(this).parent().children('.category').addClass('shark-icon');
});
elseif ($('.summary:contains("Whale")').each(function () {
     $(this).parent().children('.category').addClass('whale-icon');
});

当从if语句中删除时,工作正常,但我似乎无法得到if if going。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

$('.summary:contains("Sharks")').siblings('.category').addClass('shark-icon');
$('.summary:contains("Whale")').siblings('.category').addClass('whale-icon');

应该这样做。

您首先不需要if else子句,因为选择器会过滤项目,您可以直接将该类添加到tr

如果类别是您要应用该类的td上的类,请使用.siblings方法

答案 1 :(得分:0)

尝试这种方式 -

$('.summary').each(function () {
    if($(this).is(':contains("Sharks")')){ 
        $(this).parent().children('.category').addClass('shark-icon');
    } else if($(this).is(':contains("Whale")')){ 
        $(this).parent().children('.category').addClass('whale-icon');
    }
});