2016-07-06 7 views
-2

Я набор данных-атрибут со следующим:Найдите элемент, основанный на значении атрибута данных. Синтаксис вопрос

jQuery('.question').data('status', status_value); // status_value can be wrong or correct 

Теперь я две линии, идущие один за другим

jQuery('.question').data('status') // returns value wrong or correct, e.g. data-attribute 'status' exists and filled with value 
jQuery(".question[status='wrong']") // returns undefined 

Почему сокращенный синтаксис не работает?

Моя задача состоит в том, чтобы получить элемент, который имеет значение данных атрибута как «неправильный»

+2

почему вы не могут люди просто сбрасывать HTML в вопросе, почему ? – madalinivascu

+1

Если это атрибут данных, селектор должен быть: '$ (". Question [data-status = 'wrong'] ")' Хотя я не вижу, как что-либо возвратит 'недоступно'. Разумеется, это должно быть «null» или «undefined». Больше кода помогло бы много здесь, как говорит @madalinivascu. –

+0

Атрибуты только FYI, dataSet и 'data- *' больше не отображаются после загрузки DOM. НО я думаю, это не имеет никакого отношения к вашему вопросу ... –

ответ

0

JQuery («Вопрос [данные статус =„неправильный“]») выбрать все элементы, которые установили атрибут чтобы неправильно, но в коде jQuery('.question').data('status', status_value); вы настраиваете объект данных узла йота не атрибут, чтобы установить атрибут использовать attr()

jQuery('.question').attr('data-status', status_value);

+0

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

+0

второй syintax - это селектор, вы выбираете все элементы, у которых атрибут статуса неверен – madalinivascu

+0

Да, точно, и он не выбирает какой-либо элемент, пока существует элемент (он проверяется первой строкой). –