2009-08-24 112 views
0

只是想知道,如果可能下面的转换为IF语句在Javascript:评估jQuery中

$('.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'); 

回答

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类。

0

您是否知道jquery javascript是不是?

含蓄的回答你的问题,因此是“是”,但你最终用JavaScript代码这感觉可疑类似的jQuery的一小部分......

+0

是的我知道这一点,但不知道如何实现。 – CLiown 2009-08-24 18:43:16

+0

我想我的问题是什么收益?大概你不被允许使用jQuery? – annakata 2009-08-24 19:09:30

+0

不,我可以使用jquery,我只是不知道如何?如果你能够点亮我欣赏它。上面的答案都不会导致预期的效果。 – CLiown 2009-08-24 19:25:00

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'); 
} 
0

我不会按照你的第一行代码是如何与“示例”。你能描述一下你试图用言语来达到的效果吗?

你的第一行写着:

(1)类linksbelow添加到包含tr后立即table.navitem所有tr元素包含table.navheader.Nav table

和示例全文如下:

(2)给任何元素添加一个类t匹配.Nav table .navheader。类名取决于(1)的结果。如果(1)中的操作成功(可能意味着它与任何元素匹配),那么类名应该是linksbelow,否则Nolinksbelow