Добавление класса в ListItem для asp: DropDownList из jQuery - PullRequest
2 голосов
/ 26 января 2020

Я пытаюсь добавить класс из jQuery к первому элементу asp ddl (в случае, если пользователь не выбрал другой элемент перед отправкой).

Я пытался:

$("#my_ddl").options[0].addClass("myErrorClass");

не работает, какие-либо предложения, пожалуйста? спасибо заранее.

1 Ответ

1 голос
/ 26 января 2020

У вас есть пара вопросов здесь. Во-первых, у jQuery объектов нет коллекции options. Во-вторых, если бы они это сделали, доступ к нему по индексу (ie. С использованием [0]) вернул бы объект Element, а не объект jQuery, а первый не имеет метода addClass().

Чтобы исправить это, вы можете использовать различные методы jQuery для добавления класса, любой из них будет работать:

$('#my_ddl option:first').addClass('myErrorClass');
$('#my_ddl option').first().addClass('myErrorClass');
$('#my_ddl').find('option').first().addClass('myErrorClass');
$('#my_ddl').children('option:first').addClass('myErrorClass');
$('#my_ddl').children('option').first().addClass('myErrorClass');

В качестве альтернативы вы можете использовать нативные методы JS:

document.querySelector('#my_ddl option')[0].classList.addClass('myErrorClass');

Однако , главное предостережение во всем этом, что добавление классов к элементам option для стилизации не является надежным во всех браузерах. Удостоверьтесь, что вы проверяете результат, который вы ожидаете, во всех случаях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...