выбор при условии - PullRequest
       11

выбор при условии

1 голос
/ 02 марта 2010

Я пытаюсь и пытаюсь и не могу заставить это работать. У меня есть ul class = "first". Из всех "первых" ul в шаблоне мне нужно выбрать только те, которые содержат ul class = "second" и для выбранного изменения h2 href на "#". Проблема в том, что когда я нахожу это «первое» с помощью «второго», я могу без проблем изменить «вторые» параметры, но никак не могу понять, как повлиять на «первый».

Вот ссылка одновременно с js и html: http://jsbin.com/acoqi/edit

HTML:

<ul id="Menu">
<li>
  <span id="primary">
      <h1>
          <a href="#">Bags</a>
      </h1>
  </span>
  <ul class="first">
      <li>
          <span id="secondary">
              <h2>
                  <a href="/category/category/bags_/">Bags</a>
              </h2>
          </span>
          <ul class="second">
              <li>
                  <h3>
                      <a href="/category/category/shoulderbag/">Shoulder Bags</a>
                  </h3>
              </li>
          </ul>
      </li>
      <li>
        ...
      </li>
  </ul>
</li>
<li>
  <ul class="first">
     <li>        
          <span id="secondary">
              <h2>
                  <a href="/category/category/bags_/">Bags</a>
              </h2>
          </span>          
    </li>
  </ul>

JS:

    var second = $(".second");
    if(second.length && second.closest(".first")) {
       $(".first h2 a").attr("href", "#");
    };

1 Ответ

3 голосов
/ 02 марта 2010

Я думаю, что вы ищете: имеет селектор

$('ul.first:has(ul.second) h2 a').attr("href", "#");

Или, ближе к тому, что вы делаете:

var second = $(".second");
if(second.length && second.closest(".first")) {
   second.closest(".first").find("h2 a").attr("href", "#");
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...