это мой код динамического раскрывающегося меню, и я хочу изменить текст первой опции, у которой нет идентификатора, а значение пусто!
это код:
<div class = "my-tours">
<select name = "tours">
<option value = "">All</option>
<option value = "america">America</option>
</select>
</div>
что будешь менять текст? что должен выводить? где код, который вы пытались достичь?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


В вашем вопросе неясно, что вы хотите в качестве вывода. но вы измените значение первой опции, сделав что-то вроде этого:
$("#select-id option:first").attr("value", "");
$('#tours > option:not([id])').filter(function () {
let val = $(this).attr('value');
return val === undefined || val === '';
}).first().text('First id-less with no value');<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class = "my-tours">
<select name = "tours" id = "tours">
<option value = "mexico">Mexico</option>
<option value = "">All</option>
<option value = "america">America</option>
<option>Nowhere</option>
</select>
</div>Я добавил идентификатор к тегу <select>, чтобы упростить его выбор и сделать запросы DOM для него более эффективными. Я настоятельно рекомендую это сделать, но если по какой-то причине вы не можете добавить идентификатор, вы также можете выбрать его с помощью $('select[name = "tours"]').
Вот что это делает шаг за шагом:
$('#tours > option:not([id])') выбирает все теги <option> внутри #tours, у которых нет атрибута id..filter('[value = ""]')..first() выбирает первый вариант, соответствующий нашему фильтру..text() устанавливает новый текст.Вот. Используйте атрибут name и :first в селекторе опций.
$(document).ready(function() {
$("select[name='tours'] option:first").text("wow");
});<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class = "my-tours">
<select name = "tours">
<option value = "">All</option>
<option value = "america">America</option>
</select>
</div>
А где твой сценарий?