Как я могу нажать кнопку с пользовательским идентификатором, который не распознается в Javascript? Если нет имени, тега или идентификатора, можно ли это сделать? - PullRequest
0 голосов
/ 27 октября 2018

Есть сайт, который я пытаюсь автоматизировать с помощью JavaScript, чтобы применить код скидки. Мне нужно знать альтернативный метод, чтобы получить эту конкретную кнопку для отправки () или нажмите (). Я уже нашел способ ввода кода, потому что есть идентификатор для этого элемента. Однако это не относится к этой кнопке. Когда я использовал идентификатор data-trekkie-id, "apply_discount_button", он не распознавал идентификатор.

    <button name="button" type="submit" class="field__input-btn btn btn--disabled" data-trekkie-id="apply_discount_button" aria-busy="false">
          <span class="btn__content visually-hidden-on-mobile" aria-hidden="true">
            Apply
          </span>
          <span class="visually-hidden">
            Apply Discount Code
          </span>
          <svg class="icon-svg icon-svg--size-16 btn__icon shown-on-mobile" aria-hidden="true" focusable="false"> <use xlink:href="#arrow" /> </svg>
          <svg class="icon-svg icon-svg--size-18 btn__spinner icon-svg--spinner-button" aria-hidden="true" focusable="false"> <use xlink:href="#spinner-button" /> </svg>

Ответы [ 2 ]

0 голосов
/ 27 октября 2018

Благодаря гибкости HTMl вы можете создавать свои собственные атрибуты и использовать их по своему усмотрению;Если вы когда-либо использовали загрузчик, вы увидите, что они добавляют некоторые атрибуты в HTML-теги. Вы можете сделать то же самое.Чтобы зафиксировать событие click на кнопке с атрибутами data-trekkie-id, вы можете с помощью Jquery сделать следующее:

$("[data-trekkie-id=apply_discount_button]").click(function(){
  //some stuff
})

или просто:

$("[data-trekkie-id]").click(function(){
    //some stuff
})

Надеюсь, мой ответ поможет!

0 голосов
/ 27 октября 2018

Я не получаю 100% о том, что вы ищете. Но я думаю, вы хотите выбрать кнопку с пользовательским атрибутом данных html5 (data-trekkie-id).

Вы можете выбрать кнопку в JavaScript, используя следующую строку:

const discountButton = document.querySelector('[data-trekkie-id="apply_discount_button"]');

Будет возвращено первое совпадение с атрибутом data-trekkie-id="apply_discount_button".

Затем вы можете прослушивать события в этом элементе, подключив метод addEventListener.

Например, если вы хотите прослушать событие клика по этому элементу, код будет:

 discountButton.addEventListener('click', function(){
     alert('Discount button was clicked.'); // Replace this line with your code
 });
...