#javascript #html #dom #responsive-design #html-select
#javascript #HTML #dom #адаптивный дизайн #html-выберите
Вопрос:
Как я могу выбрать параметр размера из https://www.supremenewyork.com/mobile#products/305278 , когда я просматриваю его в адаптивном режиме? Я пробовал это, document.querySelector("#size-options > option:nth-child(2)").selected = "selected";
но это не работает.
В режиме рабочего стола https://www.supremenewyork.com/shop/pants/n1to4psjk/wlmx7p5hr метод document.querySelector("#size > option:nth-child(3)").selected = "selected";
работает так, как и ожидалось.
Комментарии:
1. Вы пытались проверить идентификатор элемента? Похоже, что идентификатор отличается в мобильном представлении. Попробуйте id
size-options
вместоsize
2. Да, я забыл упомянуть об этом, я использовал разные идентификаторы в мобильной и настольной версии, если вы продолжаете оформлять заказ, есть также такие параметры, как страна, тип карты и т. Д., И они тоже не работают.
3. На самом деле это фактическое изменение — просто не отражается в пользовательском интерфейсе. После выполнения инструкции, которую вы опубликовали, попробуйте выполнить
document.querySelector("#size-options > option:nth-child(2)").selected
, и она вернетсяtrue
. Пользовательский интерфейс не обновляется, да. Чего именно вы пытаетесь достичь?4. Я создаю бота, который автоматически покупает товары, поэтому вы предварительно определяете название товара, цвет, размер, и бот должен добавить товар с этими параметрами в корзину. На странице оформления заказа автоматически заполняются заранее определенные данные заказа, такие как страна доставки и т.д.
5. Тогда это должно работать так, как есть, поскольку изменение размера действительно происходит за кулисами. Если вы хотите убедиться, что событие действительно зарегистрировано, и хотите также обновить пользовательский интерфейс, попробуйте запустить событие после выполнения приведенного выше кода. Если вы используете Jquery, попробуйте
$("#size-options").trigger('change')
.
Ответ №1:
Вы можете использовать document.querySelector("#order_billing_country").value = "countryCode";
, и он будет работать как на десктопе, так и на мобильном устройстве. Пользовательский интерфейс на мобильных устройствах никогда не обновляется, но когда вы нажимаете обработать платеж, правильное значение отправляется в Supreme.