jQuery addClass для проблемы тегов - PullRequest
1 голос
/ 14 января 2010

У меня есть это в моем HTML-код:

<ul id="navlist"
<li id="tabItem1"><a href="#">Item one</a></li>
<li id="tabItem2"><a href="#">Item two</a></li>
<li id="tabItem3"><a href="#">Item three</a></li>
<li id="tabItem4"><a href="#">Item four</a></li>
</ul>

Я хочу добавить класс к элементу с помощью jquery следующим образом: (он не работает)

var currentTab = 1;

$(document).ready(function()
{        
  $("li#tabItem" + currentTab + ":has(a)").addClass("navlistHover");
  //console.log("li#tabItem" + currentTab + ":has(a)");
});

Когда удаляете элемент a и делаете это как в следующем примере, тогда проблем нет.

$("li#tabItem" + currentTab).addClass("navlistHover");

Я пробовал следующий код:

$('navlist li#tabItem' + currentTab + ' a').addClass('navlistHover');

но это не работает, очень странно

Ответы [ 2 ]

2 голосов
/ 14 января 2010

Попробуйте это:

$('navlist li#tabItem' + currentTab + ' a').addClass('navlistHover');

Селектор :has() выбирает элементы, у которых элемент a является дочерним:

http://docs.jquery.com/Selectors/has

0 голосов
/ 14 ноября 2013

Это работает, если вы добавите закрывающий тег html для

<ul id="navlist">

...