2014-02-17 155 views
-2

我有一個html下拉菜單。我想通過jquery只選擇父ul列表項。第一個列表項選擇jquery

我的菜單代碼:

<ul> 
<li>list parent</li> 
<li>list parent 
    <ul> 
    <li>list child</li> 
    <li>list child</li> 
    <li>list child</li> 
    <li>list child</li> 
    <li>list child</li> 
    </ul> 
</li> 
<li>list parent</li> 
<li>list parent</li> 
<li>list parent</li> 
</ul> 

我想選擇只列出父風格化。 沒有列出孩子

+1

好了,你嘗試過什麼? – j08691

回答

2

你需要給你的根ul類或id這裏:

<ul id="rootUL"> 

然後你可以使用:

$('ul#rootUL > li').css(...); 

>選擇可以幫助您選擇li元素這是你的名單的直接子女,與id取名rootUL

0

的標識符添加到父ul像一個ID,然後使用子選擇器只選擇其子女

<ul id="nav"> 
    <li>list parent</li> 
    <li>list parent 
     <ul> 
      <li>list child</li> 
      <li>list child</li> 
      <li>list child</li> 
      <li>list child</li> 
      <li>list child</li> 
     </ul> 
    </li> 
    <li>list parent</li> 
    <li>list parent</li> 
    <li>list parent</li> 
</ul> 

然後

$('#nav > li') 
+0

如果我選擇#nav>李和他們的風格,風格也來兒童李太。 – user2946921

+0

,因爲css樣式是由子元素「li」元素 –

+0

繼承的,所以我可以在沒有css的情況下做什麼。我不想使用任何CSS。 – user2946921

0

>選擇允許您選擇只有直接孩子您的元素的。 因此,假設你的根ul.root類集,你可以這樣做:

$("ul.root > li") 
+0

如果我選擇ul.root> li並對它們進行樣式設置,風格也來自孩子李。但我想選擇只是父母和樣式。不是子項 – user2946921

+0

你是對的,那是因爲'ul'從你的「列表父」的''li'繼承,所以它的風格。我想我會包裹「列表父」的文本週圍的元素(如跨度或在語義上更適合您的問題),我會選擇這些元素。 它並不覺得不正確,因爲你不想對**裏面的所有內容進行樣式**,而只是其中的一小部分(文本)。 – LudovicL

相關問題