Фильтр не работает, нужны только теги, чей дочерний элемент соответствует селектору - PullRequest
0 голосов
/ 20 апреля 2010

с учетом HTML:

<div class="ships">
  <div class="ship header">
  </div>
  <div class="ship">
    <div class="image">
      <img alt="Hermes_class" src="..." />
    </div>
    <div class="number">x10</div>
  </div>
 ... //other ships

Мне нужен только текстовый номер корабля, соответствующий img alt = "Hermes_class".

Вот с чего я начну:

var finalShipListDom = $jq('div.ship:not(.header)', finalCombatantShips);
             if(finalShipListDom.length<=0)
                 console.log("fsld="+finalShipListDom.length);

Я попробовал все это, чтобы получить корабль, чтобы я мог спуститься оттуда, чтобы получить номер.

$jq('div.ship',finalShipListDom).filter('div.image img[alt="' +shipClass + '"]');

и

 var finalShipDomFilter= function(index){
               return jQuery('div.image',this).length>=1;
             }

и

     var finalShipDomFilter= function(index){
               return jQuery('div div.image',this).length>=1;
             }

все возвращают 0 длины.

Пример отладочной корзины / live доступен по адресу http://jsbin.com/alebi3/9/edit

1 Ответ

1 голос
/ 20 апреля 2010

Звучит так, как вы хотите jQuery.has () . Примерно так должен получиться div, содержащий div <div class="number">x10</div>:

$jq('div.ship:not(.header)', finalCombatantShips)
    .has('div.number > img[alt=' + shipClass + ']');

N.B. вам не нужно вставлять кавычки в значение атрибута в селекторе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...