我想知道是否有人可以使用简单的JavaScript代码来单击页面上具有相同值名称/输入名称的所有按钮?
他们各自分享:
<input name="all" type="submit" value="Do All">
这是按钮的屏幕截图:http://oi61.tinypic.com/2nqblnr.jpg
也许有人应该制作一个可以用作“全部单击”按钮的按钮?这将是一个chrome扩展名(供个人使用),因此我真的无法更改“全部完成”按钮的代码。
我在Google上很难找到它,我对HTML / CSS很好,但对JavaScript确实很糟糕。
要单击页面上具有相同名称的所有按钮,可以使用getElementsByName()函数并将其设置为一个变量,该变量将保留NodeList中的所有按钮,然后循环遍历NodeList并为每个事件调用click()
事件按钮。
例如:
// Get all buttons with the name 'all' and store in a NodeList called 'buttons'
var buttons = document.getElementsByName('all');
// Loop through NodeList and call the click() function on each button
for(var i = 0; i <= buttons.length; i++)
buttons[i].click();
我想这就是您想要实现的目标:
jsfiddle:http://jsfiddle.net/vqk2V/
使用jquery的.click()
[http://api.jquery.com/click/]方法实现。
[使用Java ...也许正在使用Selenium。但是您可以使用jquery(javascrpt的框架),因此代码可以是:
<scrpipt>
function ClickAllButtons()
{
if($("input[type=button][name='someName']").length > 0)
{
$('input[type=button]').each(function(i){
var $currentButton = $(this);
$currentButton.click();
});
}
}
</script>
// Select all buttons with class .btn
const btns = document.querySelectorAll('.btn');
// Attach click handler
for(let i = 0; i < btns.length; i++) {
btns[i].addEventListener('click', function() {
alert(this.innerHTML);
})
}
// Perform all buttons click
for(let i = 0; i < btns.length; i++) {
btns[i].click();
}
<button class="btn">
1
</button>
<button class="btn">
2
</button>
您想做的是创建一个类,例如。
公共类MyClass {........}
..然后创建执行单击按钮时完成的处理的方法。如果您的方法在需要该方法的特定按钮中不是静态的,则使用一个对象调用这些方法。
现在您可以创建一个按钮,该按钮调用您要调用的所有方法,它将按您的要求进行操作。