Селектор множественных атрибутов jQuery, не работает: / - PullRequest
1 голос
/ 27 октября 2011

Насколько я знаю, я следую правильной форме использования: http://api.jquery.com/multiple-attribute-selector/,, но по какой-то причине я не вижу, мой код не работает.Каждый атрибут отлично работает независимо друг от друга (т.е. $(".tonight_stat_peopleThumbs li[srcid="+srcid+"]") работает и $(".tonight_stat_peopleThumbs li[style*=inline-block]") работает), но они не работают вместе.

Вот моя функция в JavaScript:

hidePatrons = function(srcid) {
    $(".tonight_stat_peopleThumbs li[srcid="+srcid+"][style*=inline-block]").each(function(){
        $(this).css({"display" : "none"});
    });
}

Вот фрагмент из HTML:

<ul activepage="1" class="tonight_stat_peopleThumbs" style="width:171px">
  <li id="myid" class="myclass" ptype="people" ptime="11101101" style="display:inline-block;">
    <a href="http://domain.com/users/#.php">
      <img src="https://graph.facebook.com/#/picture" />
    </a>
  </li>
</ul>

NOTE: The '#' are inserted for privacy, assume they are fbid numbers.

Ответы [ 4 ]

5 голосов
/ 27 октября 2011

Обратите внимание, что, хотя CSS допускает селекторы атрибутов без кавычек , в каждом примере jQuery есть кавычки. Мой опыт показывает, что jQuery не может выбирать без кавычек.

/* Good for CSS, bad for jQuery */
[foo=bar]

/* Good for both */
[foo="bar"]
1 голос
/ 27 октября 2011

Попробуйте

$('.tonight_stat_peopleThumbs li[srcid="' + srcid + '"][style*="inline-block"]')
  • возражаю против цитирования!
0 голосов
/ 27 октября 2011

не могли бы вы попробовать вот так? следующее работает нормально для вашего HTML-кода.

 hidePatrons = function(srcid) {
        $("#tonight_stat_peopleThumbs li[ptype=people][style*=inline-block]").each(function(){
            $(this).css({"display" : "none"});
        });
    }

note : # для идентификатора, а . для класса. Я изменил . на # и srcid = "+ srcid +" на ptype = people из вашего кода.

0 голосов
/ 27 октября 2011

попробуйте изменить li[srcid="+srcid+"] на li[id="+srcid+"] Я не вижу атрибута "srcid", поэтому я предполагаю, что вы ищете для поиска по атрибуту "id"

...