Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.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 如何从节点列表中获取元素?如何使用byTagname/ByClassName?_Javascript_Html_Css_Dom - Fatal编程技术网

Javascript 如何从节点列表中获取元素?如何使用byTagname/ByClassName?

Javascript 如何从节点列表中获取元素?如何使用byTagname/ByClassName?,javascript,html,css,dom,Javascript,Html,Css,Dom,看起来我应该在使用nodeType之前注意它,否则我将无法读取null的属性“1”。因此,我越来越依赖于document.querySelectorvsgetElementbyTagname/getElementsByClassName。如何从getElementsBy获取元素并使用它* 现在我用这个,它工作: var my_el = document.querySelector("some_long_path >div > form > div.field-invalid &

看起来我应该在使用nodeType之前注意它,否则我将无法读取null的属性“1”。因此,我越来越依赖于
document.querySelector
vs
getElementbyTagname
/
getElementsByClassName
。如何从getElementsBy获取元素并使用它*

现在我用这个,它工作:

var my_el = document.querySelector("some_long_path >div > form > div.field-invalid > textarea");
my_el.value="Hey, I input this into a text area ! :D" ;
如何从getElementsBy*中获取元素

my_el = document.getElementsByName("emailform")[0][1]; //ERROR
我需要一个示例,说明如何遍历getElementsBy返回的节点列表?并获取一个元素来使用它


节点列表只不过是一个数组,尽管没有一些便利。您仍然可以使用数组表示法访问单个元素,尽管数组的forEach方法不可用(过去几年没有检查过),所以您可以使用自己的方法

函数byId(id,parent){return(parent==未定义?文档:parent).getElementById(id);}
函数allByClass(className,parent){return(parent==未定义?文档:parent).getElementsByClassName(className);}
函数allByTag(标记名,父项){返回(父项==未定义?文档:父项).getElementsByTagName(标记名);}

函数forEachNode(nodeList,func){for(var i=0,n=nodeList.length;idocument.getElementsByTagName(“emailform”)[0]获取第一个元素文档。getElementsByTagName(“emailform”)[1]获取未定义的第二个元素。我包含了表单的图片。请不要链接表单的图像,而是使用编辑器中的
{}
按钮包含代码并正确设置其格式。还要学习使用开发工具,查看下面的有用工具ID您猜“getElementsByName”是一件事吗?它不是。不要使用name=“”、使用id=“”和document.querySelector(“#formid”)为什么要在可以
Array.prototype.forEach.call(nodeList,function(el,i,nodeList){/**dostuff**/})的情况下使用自己的方法呢?出于同样的原因,我们中的任何人都会使用任何特定的方法,直到找到更好的方法。感谢有更好的替代方法。:)不客气,您可以
节点列表
上应用
/
调用
任何
数组
方法(例如
forEach
映射
过滤器
每个
一些
等)。