jQuery - селектор для запуска функции - PullRequest
1 голос
/ 19 декабря 2011

Как бы я использовал следующий код для запуска функции в любом div с классом .p11button, который также имеет display:block?

if (VARIABLE = true) {
    $('div .p11-button').css('display') == 'block'
    FUNCTION HERE
}

Ответы [ 3 ]

2 голосов
/ 19 декабря 2011

Попробуйте следующее:

if (VARIABLE) {
  $('div.p11-button').filter(function() {
   return $(this).css('display' === 'block');
  }).each(function() {
    var self = $(this);
    //FUNCTION HERE
  });
}

В вашем примере кода вы присваивали переменной условие в условии - это всегда будет иметь значение true! Кроме того, пробел в вашем селекторе означает, что вы выберете потомков элементов div с кнопкой класса p11.

1 голос
/ 19 декабря 2011

Вы можете выбрать элементы по их атрибутам, используя квадратные скобки:

$('div.p11-button[style*="display:block"]').css('color', 'red');

Вот демоверсия: http://jsfiddle.net/2uE4s/

Это выберет все div элементы с p11-buttonкласс и включите display:block в их атрибут стиля (для примера я изменяю свойство CSS color для всех выбранных элементов, чтобы показать, что вам не нужен .each()).

Здесьдокументация для селекторов в jQuery: http://api.jquery.com/category/selectors/

0 голосов
/ 19 декабря 2011

Как то так?

$('div .p11-button').filter('[style*=display:block]').each(/*function*/);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...