Javascript 查找输入元素,但仅查找具有onclick事件的元素

Javascript 查找输入元素,但仅查找具有onclick事件的元素,javascript,html,getelementsbytagname,Javascript,Html,Getelementsbytagname,我的一些输入元素有onclick=“setSomeFunction()”显示或隐藏以下几个div 我可以通过 document.getElementsByTagName(“输入”) 然后把它们放在一个数组中。 但我只想将“onclick”输入获取到另一个数组中 我发现您可以测试.class(例如) 但似乎如果没有相应的“.onclick”?或者我的代码失败是因为某些输入元素根本没有onclick事件 function consoleInputs() { var inputs = docu

我的一些输入元素有onclick=“setSomeFunction()”显示或隐藏以下几个div

我可以通过 document.getElementsByTagName(“输入”) 然后把它们放在一个数组中。 但我只想将“onclick”输入获取到另一个数组中

我发现您可以测试.class(例如)

但似乎如果没有相应的“.onclick”?或者我的代码失败是因为某些输入元素根本没有onclick事件

function consoleInputs() {
    var inputs = document.getElementsByTagName("input"); //finds all the input elements
    console.log(inputs); //list all the inputs
    var hasClick; // store all the inputs WITH onclick event here
    var loop = inputs.length; // max rounds in the loop
    var i;
    for (i = 0;i <= loop ;i += 1){
        if ((document.getElementById("inputs[i]").onclick) == ("set"+"*")) {
        hasClick = hasClick + inputs[i]
        }
    }
    console.log(hasClick);
}
函数控制台输入(){
var inputs=document.getElementsByTagName(“输入”);//查找所有输入元素
console.log(输入);//列出所有输入
var hasClick;//使用onclick事件将所有输入存储在此处
var loop=inputs.length;//循环中的最大轮数
var i;

for(i=0;iJavaScript具有与jQuery非常相似的选择器特性

因此,您可以通过以下方式获得具有onClick属性的所有输入:

document.querySelectorAll('input[onClick]')
它将返回定义了onClick属性的输入元素数组

编辑 CSS也有startsWith selector,因此您可以使用它获得以
set
开头的onclick属性


document.querySelectorAll('input[onClick^=“set”]”)

JavaScript具有与jQuery非常相似的选择器功能

因此,您可以通过以下方式获得具有onClick属性的所有输入:

document.querySelectorAll('input[onClick]')
它将返回定义了onClick属性的输入元素数组

编辑 CSS也有startsWith selector,因此您可以使用它获得以
set
开头的onclick属性


document.querySelectorAll('input[onClick^=“set”]”)

将返回一个。如果要将其转换为数组,请选中此项:document.querySelectorAll('input[onClick]”)确实有帮助,谢谢!我也尝试过将节点列表转换为数组,但我不确定是否正确。是否也可以只找到以“set”开头的onclick事件,如开篇文章中提到的onclick=“setSomeFunction()”?哦,太好了!我尝试使用“~=”表示“contains”但在不同的情况下似乎有太多不同的运算符,我找不到它!将返回一个。如果要将其转换为数组,请选中此项:document.querySelectorAll('input[onClick]”)确实有帮助,谢谢!我也尝试过将节点列表转换为数组,但我不确定是否正确。是否也可以只找到以“set”开头的onclick事件,如开篇文章中提到的onclick=“setSomeFunction()”?哦,太好了!我尝试使用“~=”表示“contains”但是在不同的情况下似乎有很多不同的操作符,我找不到它!也就是说你有
id=“inputs[I]”而不是
id=“inputs0”
也许我误解了……inputs[I]不是从inputs数组中找到元素id的方法吗?也就是说你有
id=“inputs[I]”而不是
id=“inputs0”
也许我误解了……inputs[I]不是从inputs数组中找到元素id的方法吗?