Как установить свойство элемента с помощью Funcunit в окне qunit (тестовое окно)
Я использую FuncUnit с Qunit для тестирования приложения. Я хотел бы установить selected
свойство опции <select>
меню будет true
,
В jQuery
Я мог бы сделать что-то вроде
$('select#id option:eq(0)').prop('selected', true).change();
для достижения этой цели. Но в funcunit,
S('select#id option:eq(0)').prop('selected', true).trigger('change');
селектор находит элемент и просто получает (не устанавливает) значение проп selected
, Я хочу установить опору элемента.
2 ответа
Согласно комментарию от команды funcunit : пользователь не сможет установить свойство опции, он просто будет знать, как выполнить какое-либо действие, например щелчок, перетаскивание и т. Д.
так что для достижения этого нам нужно сделать
S.win.$('select#id option:eq(0)').prop('selected', true).trigger('change');
Это запускает jquery в тестовом окне.
Вы пробовали что-то подобное вместо этого?
S('select#id option:eq(0)').attr('selected', 'selected').trigger('change');
В jQuery это устанавливает любой атрибут тега. Например, для тега <a href="#">Link</a>
Вы можете установить атрибут href
вот так: $('a').attr('href', '#new-link');
). Это должно работать для добавления selected
свойство тоже в старом стиле XHTML. Отмена свойства может быть трудной, хотя.
Другим вариантом может быть использование click
, вот так:
S('select#id option:eq(0)').click();
Вам даже не нужно запускать change
,