Подтвердить что ты не робот

JQuery найти по встроенному атрибуту css

Мне нужно найти элемент, основанный на конкретном атрибуте css. css применяется inline, и я не могу использовать класс. В любом случае, чтобы достичь этого в jQuery?

4b9b3361

Ответ 1

Вы можете использовать attribute селектор

Например

$(":radio [style*='regular']")

вернет завернутый набор любых входных радиостанций, которые содержат 'regular' в атрибуте style

Ответ 2

Я думаю, что это самое чистое решение. Скажем, вы хотите найти все элементы, где z-index имеет особое значение:

$('*').filter(function () { return $(this).css('z-index') == 101 })

Ответ 3

Я думаю, что вы можете написать собственный селектор jQuery, чтобы сделать это.

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

 jQuery.extend(jQuery.expr[':'], {
    styleEquals: function(a, i, m){
        var styles = $(a).attr("style").split(" ")
        var found = false;
        for (var i = 0; i < styles.length; i++) {
            if (styles[i]===m[3]) {
                found = true;
                break;
            }
        }
        return found;
    }
});

Затем его можно использовать в сочетании с любым другим селектором, который вы можете выбрать все элементы ввода с определенным стилем следующим образом:

$('input:styleEquals('width=10px')')

Ответ 4

Что-то вроде:

$('selector').each(function() {
    if($(this).attr('style').indexOf('font-weight') > -1) {
        alert('got my attribute');
    }
});

Ответ 5

Да, я думаю, что самый быстрый и простой способ добиться желаемых результатов - это нацелить стили на селектор классов свойств.

Как указано выше:

$('div.yourClass[style*="background-color:Blue"]).css('color', 'White');

Таким образом мы нацеливаем все divs с тем же классом, которые имеют синий фон, и сообщают всем, чтобы они имели белый цвет текста. Конечно, вместо .css мы можем использовать что-нибудь здесь, .animate и сообщать анимацию всех блюз и т.д. Это очень помогло мне с отношениями с БД и людьми, создающими странные вещи в БД.

Раньше я был менее общим, а целевые строки с: содержит... но затем кто-то идет на базу и меняет тексты и метки, и до свидания код;)

Надеюсь, что это поможет.

Ответ 6

var ccsStyle="font-weight:bold";
var els = [];
$("*").each(function(){
  var st = $(this).attr("style");
  if(st.indexOf(cssStyle) > -1) els.push(this);
});
//do stuff with els

Ответ 7

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

$("[style*='position']")

Здесь будут найдены все элементы, определяющие атрибут css позиции.

Ответ 8

Вы можете найти любой встроенный атрибут с помощью .attr().. .attr('attr_name')

http://api.jquery.com/attr/

css_inline_value = $(element).attr('style');

if (css_inline_value = search_value) {
    // do stuff
}