单击按钮类或跨度类

时间:2019-02-15 14:24:16

标签: javascript class button click

我要模拟向上或向下按钮的点击,

我尝试过:document.querySelector('button.up')[4].click();

在页面中,很少有带有向上和向下按钮的输入字段,我想要ID为“ sl”或第n个向上按钮的字段的向上按钮吗? 代码:

<div class="input-text num" >
<input type="text" placeholder="" id="sl" min="0" max="" step="0.00001">
<button tabindex="-1" class="up">
<span class="v"></span></button><
button tabindex="-1" class="down">
<span class="v"></span></button></div>

1 个答案:

答案 0 :(得分:0)

可能会导致问题的第一件事是以下行:

document.querySelector('button.up')[4].click();

导致问题的原因是,document.querySelector()返回与提供的选择器匹配的第一个元素,或者如果没有与选择器匹配的元素,则返回null。因此,索引符号[4]注定会因设计而失败。

在没有看到更多HTML的情况下,很难提供一个完全有效的建议,但是我建议使用替代选择器应该有效(只要您的id属性是唯一的,因为它们必须是一致的)规格):

document.querySelector('#sl + button.up').click();

const clickHandler = (event) => {
  console.log(`${event.target.outerHTML}`);
}

document.querySelectorAll('button').forEach(
  (button) => button.addEventListener('click', clickHandler)
);

document.querySelector('#sl + button.up').click();
<div class="input-text num">
  <input type="text" placeholder="" id="sl" min="0" max="" step="0.00001">
  <button tabindex="-1" class="up">
<span class="v">up</span></button>
  <button tabindex="-1" class="down">
    <span class="v">down</span></button>
</div>

参考文献: