Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于关键字查找特定元素并推送到数组_Javascript - Fatal编程技术网

Javascript 基于关键字查找特定元素并推送到数组

Javascript 基于关键字查找特定元素并推送到数组,javascript,Javascript,我尝试查找所有输入元素,并根据元素的id搜索id以匹配特定关键字。如果找到匹配项,我希望将元素放入数组targetNodese中。变量节点包含所有输入,当我记录数组时,我得到[-1,-1,0,0],这告诉我它找到了带有关键字调查答案的特定输入元素。但是我如何访问元素属性,而不是仅仅告诉我它找到了它 HTML JS 将节点推入数组,而不是indexOf调用的结果: 这样做:- var targetNodes, nodes, count; targetNodes = []; nodes = do

我尝试查找所有输入元素,并根据元素的id搜索id以匹配特定关键字。如果找到匹配项,我希望将元素放入数组targetNodese中。变量节点包含所有输入,当我记录数组时,我得到[-1,-1,0,0],这告诉我它找到了带有关键字调查答案的特定输入元素。但是我如何访问元素属性,而不是仅仅告诉我它找到了它

HTML

JS


将节点推入数组,而不是indexOf调用的结果:

这样做:-

var targetNodes, nodes, count;

targetNodes = [];

nodes = document.getElementsByTagName("input");
for (count = 0; count < nodes.length; count++) {
    node = nodes[count].id.indexOf("survey-answer");
    if (node == 0)
      targetNodes.push(nodes[count]);
}

alert(targetNodes);
参考和其他

下面是一个JSFIDLE来测试这一点:

var targetNodes, nodes, count;

targetNodes = [];

nodes = document.getElementsByTagName("input");

for (count = 0; count < nodes.length; count++) {
    node = nodes[count].id.indexOf("survey-answer");
    targetNodes.push(node);
}

console.log(targetNodes);
for (count = 0; count < nodes.length; count++) {
  var node = nodes[count].id.indexOf("survey-answer");
  if (node != -1) {
    targetNodes.push(nodes[count]);
  }
}
var targetNodes, nodes, count;

targetNodes = [];

nodes = document.getElementsByTagName("input");
for (count = 0; count < nodes.length; count++) {
    node = nodes[count].id.indexOf("survey-answer");
    if (node == 0)
      targetNodes.push(nodes[count]);
}

alert(targetNodes);
if (node == 0)
  targetNodes.push(nodes[count].value);
var targetNodes, nodes, count;

targetNodes = [];

nodes = document.getElementsByTagName("input");

for (count = 0; count < nodes.length; count++)
{
    node = nodes[count].id.indexOf("survey-answer");

    if (node != -1)
    {
        targetNodes.push(nodes[count]);
    }
}

for (count = 0; count < targetNodes.length; count++)
{ 
      alert("id: " + targetNodes[count].id +
            ", name: " + targetNodes[count].name + 
            ", value: " + targetNodes[count].value);
}