Селектор данных jquery

Мне нужно выбрать элементы на основе значений, хранящихся в элементе.data() объект. Как минимум, я хотел бы выбрать свойства данных верхнего уровня с помощью селекторов, возможно, так:

$('a').data("category","music");
$('a:data(category=music)');

Или, возможно, селектор будет в обычном формате селектора атрибутов:

$('a[category=music]');

Или в формате атрибута, но с указателем, указывающим, что он находится в.data():

$('a[:category=music]');

я обнаружилРеализация Джеймса Падолси выглядеть просто, но хорошо. Селекторные форматы выше зеркальных методов показаны на этой странице. Существует также этоШипение патч.

По какой-то причине я вспоминаю, как читал некоторое время назад, что jQuery 1.4 будет включать поддержку селекторов для значений в jquery..data() объект. Однако теперь, когда я ищу это, я не могу найти это. Может быть, это был просто запрос функции, который я видел. Есть ли поддержка для этого, и я просто не вижу этого?

В идеале, я хотел бы поддерживать под-свойства в data () с использованием точечной нотации. Как это:

$('a').data("user",{name: {first:"Tom",last:"Smith"},username: "tomsmith"});
$('a[:user.name.first=Tom]');

Я также хотел бы поддерживать несколько селекторов данных, где найдены только элементы со ВСЕМИ указанными селекторами данных. Обычный множественный селектор jquery выполняет операцию ИЛИ. Например,$('a.big, a.small') выбираетa теги с любым классомbig или жеsmall). Я ищу AND, возможно, вот так:

$('a').data("artist",{id: 3281, name: "Madonna"});
$('a').data("category","music");
$('a[:category=music && :artist.name=Madonna]');

Наконец, было бы здорово, если бы на селекторах данных были доступны операторы сравнения и функции регулярных выражений. Так$(a[:artist.id>5000]) было бы возможно. Я понимаю, что, вероятно, смогу сделать многое из этого, используяfilter(), но было бы неплохо иметь простой формат селектора.

Какие решения доступны для этого? Является ли Jame's Padolsey лучшим решением на данный момент? В первую очередь меня беспокоит производительность, а также дополнительные функции, такие как точечная нотация под-свойства и несколько селекторов данных. Существуют ли другие реализации, которые поддерживают эти вещи или лучше в некотором роде?

Ответы на вопрос(9)

Ваш ответ на вопрос