Как вы выбираете элементы в зависимости от их стиля? - PullRequest
27 голосов
/ 14 января 2009

Используя jQuery, как бы вы нашли элементы, которые имеют определенный стиль (например: float: left), независимо от того, является ли он встроенным стилем или определенным в файле CSS?

Ответы [ 3 ]

42 голосов
/ 14 января 2009

Использование функции фильтра :

$('*').filter(function() {
     return $(this).css('float') == 'left';
});

Замените '*' соответствующими селекторами для вашего случая.

11 голосов
/ 14 января 2009

Это будет медленно. Как ДЕЙСТВИТЕЛЬНО медленно. Если вы знаете, что вам нужно выбрать все элементы с заданным стилем CSS, вы увидите гораздо лучшую производительность, применив одно дополнительное правило CSS к каждому элементу, а затем выбрав это правило.

Это будет НАМНОГО быстрее и более читабельно при загрузке.

CSS:

.float-left {float:left}

Javascript:

$('.float-left');
0 голосов
/ 14 января 2009

Ну, я не знаю, подхожу ли я к этому так. Почему бы просто не переименовать эти элементы с постоянным идентификатором или именем класса и выбрать это?

Если это не вариант, это должно работать:

this.getElementsByTagName('div').item(0).style.float = 'left';

Я думаю.

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