单击Button Class或Span类

问题描述 投票:1回答:1

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

我试过这个: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>
javascript class button click
1个回答
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>

参考文献:

© www.soinside.com 2019 - 2024. All rights reserved.