Предполагая, что я понял, что вы пытаетесь сделать, есть несколько проблем с вашим кодом. Я думаю, что вы пытаетесь сделать, это установить выбранную опцию во фрагменте HTML (вероятно, вы собираетесь добавить этот фрагмент HTML в DOM).
Эта строка вызывает проблемы:
$('MytplReasons .myClass option').get(6).attr('selected', 'selected');
Во-первых, селектор начинается с MytplReasons
, поэтому jQuery будет искать элемент типа MytplReasons
, которого не существует. Вам нужно было найти элементы, соответствующие .myClass option
, во фрагменте HTML, содержащемся в MytplReasons
. Для этого вы можете использовать MytplReasons
в качестве контекста:
$('.myClass option', MytplReasons)
Во-вторых, get
возвращает базовый элемент DOM, а не объект jQuery. Элементы DOM не имеют метода attr
. Вам нужно использовать eq
вместо:
$('.myClass option', MytplReasons).eq(6).attr('selected', 'selected');
Еще одна проблема (возможно, только из-за того, что вы сократили код в вопросе) заключается в том, что в индексе 6 нет соответствующего элемента (в вашем фрагменте только 3 option
элементов).
Пара других вопросов:
- Вы пропустили точку с запятой после объявления
MyLocation
MyLocation
уже является объектом jQuery. Вам не нужно снова передавать его в jQuery, чтобы использовать html
метод
Вот рабочий пример вашего кода (слегка измененный, поэтому фрагмент HTML добавлен в таблицу, чтобы вы могли увидеть результат).