Как я мог бы создать селектор для использования с .is()
функции в JQuery, который представляет следующие выражения:JQuery селектор для пустого значения
$('[name="Person[firstName]"]').val() === ''; // true
$('[name="Person[lastName]"]').val() === ''; // false
С этой HTML контексте
<input name="Person[firstName]" value="" >
<foo bar="true" />
</input>
<input name="Person[lastName]" value="ABCDEFGH" />
: пусто Selector Выберите все элементы, у которых нет детей (включая текстовые узлы).
$('[name="Person[firstName]"]').is(':empty'); // false
$('[name="Person[lastName]"]').is(':empty'); // true
Другие попробовать
$('[name="Person[firstName]"]').is('[value=""]'); // true
$('[name="Person[lastName]"]').is('[value=""]'); // true
Примечание: Это вопрос для целей знания - и .() должны быть использованы в этом растворе.
@edithttp://jsfiddle.net/2CzWu/2/
Она должна возвращать ложь в обоих выражениях
Это не главное. Это всего лишь пример, чтобы избегать подобных пользователей: http://api.jquery.com/empty-selector/ –
@Allyson, * и '.is()' должны использоваться в этом решении. * Почему? Использование 'is()' кажется контрпродуктивным для результатов, которые вы хотите достичь. –
Ваше утверждение, что '$ ('[name =" Person [lastName] "]'). Is ('[value =" "]')' возвращает 'true', похоже, не так. Код в этом блоке, похоже, работает так, как ожидалось для меня. http://jsfiddle.net/2CzWu/1/ –