如何单击Javascript中无法识别的自定义ID的按钮?如果没有名称、标签或ID,可以这样做吗?

如何单击Javascript中无法识别的自定义ID的按钮?如果没有名称、标签或ID,可以这样做吗?,javascript,forms,button,click,submit,Javascript,Forms,Button,Click,Submit,有一个网站,我正在尝试使用JavaScript自动应用折扣代码。我需要知道另一种方法来让这个特定的按钮提交()或单击()它。我已经找到了一种输入代码的方法,因为该元素有一个ID。但是,此按钮的情况并非如此。当我使用data trekkie id“应用折扣按钮”时,它无法识别该id <button name="button" type="submit" class="field__input-btn btn btn--disabled" data-trekkie-id="apply_

有一个网站,我正在尝试使用JavaScript自动应用折扣代码。我需要知道另一种方法来让这个特定的按钮提交()或单击()它。我已经找到了一种输入代码的方法,因为该元素有一个ID。但是,此按钮的情况并非如此。当我使用data trekkie id“应用折扣按钮”时,它无法识别该id

    <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>

申请
应用折扣代码

我对你要找的东西没有100%的了解。但是我想您应该选择带有自定义html5数据属性的按钮(
dataTrekkieID

您可以使用以下行在javascript中选择按钮:

const discountButton = document.querySelector('[data-trekkie-id="apply_discount_button"]');
它将返回与属性
data trekkie id=“应用折扣按钮”
的第一个匹配项

然后,您可以通过附加
addEventListener
方法来侦听此元素上的事件

如果您想侦听此元素上的click事件,则代码如下:

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

由于HTMl的灵活性,您可以创建自己的属性,并根据需要使用它们;如果您曾经使用过bootstrap,您将看到它们为html标记添加了一些属性 你也可以这样做。 要使用data trekkie id属性捕获按钮上的clic事件,我们可以执行如下操作:

$("[data-trekkie-id=apply_discount_button]").click(function(){
  //some stuff
})
或者简单地说:

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

希望我的回答有帮助

如果可以,请将您的实际代码作为文本编辑到您的问题中-代码的图像单独用于处理和调试。这迫使那些本来想帮助你的人首先去做,这是浪费时间。非常感谢你的回答,不过我正在寻找另一个解决方案。我希望能够自动在文本框中输入一个数字(我已经这样做了),然后能够提交此代码。要做到这一点,我需要控制按钮(您帮助我),但我希望通过代码自动单击按钮,而不是听一听单击。