2009-08-24 90 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