在Jquery中进行评估

时间:2009-08-24 18:26:26

标签: javascript jquery

只是想知道是否可以将以下内容转换为Javascript中的IF语句:

$('.Nav table tr:has(table.navheader) + tr:has(table.navitem)').addClass('linksbelow');

示例:

IF $('.Nav table tr:has(table.navheader) + tr:has(table.navitem)').addClass('linksbelow'); = **TRUE** (
$('.Nav table .navheader').addClass('linksbelow');
)
**ELSE** (
$('.Nav table .navheader').addClass('Nolinksbelow');

5 个答案:

答案 0 :(得分:3)

你可以这样接近它:

$('.Nav table .navheader').addClass('Nolinksbelow');
$('.Nav table tr:has(table.navheader) + tr:has(table.navitem)').addClass('linksbelow').find('.navheader').addClass('linksbelow').removeClass('Nolinksbelow');

这里我首先假设没有.navheader有链接,然后按照之前的方式应用linksbelow类,然后(这里是重要的一点) find()相应的.navheader子项并通过删除(现在不正确的)Nolinksbelow类并添加正确的linksbelow类来更正这些。

答案 1 :(得分:1)

以下是我对你可能想要的东西的猜测:

var q = $('.Nav table tr:has(table.navheader) + tr:has(table.navitem)');
if (q.length) {
    q.addClass('linksbelow');
    $('.Nav table .navheader').addClass('linksbelow');
} else {
    $('.Nav table .navheader').addClass('Nolinksbelow');
}

答案 2 :(得分:0)

不确定你在问什么,你只需要js中if / else的语法? Try this

答案 3 :(得分:0)

你知道jquery javascript不是你吗?

因此,你的问题的回答是“肯定的”,但是你最终会得到一些javascript,这些javascript与jquery的一小部分相似......

答案 4 :(得分:0)

我没有关注你的第一行代码与“示例”的关系。你能用文字描述你想要达到的效果吗?

你的第一行是:

  

(1)将班级linksbelow添加到tr的所有table.navitem元素后面,tr后面包含table.navheader .Nav table 1}}

示例如下:

  

(2)将类添加到与.Nav table .navheader匹配的任何元素。 classname取决于(1)的结果。如果(1)中的操作成功(可能意味着它与任何元素匹配),则类名应为linksbelow,否则为Nolinksbelow