Javascript 如何从节点列表中获取元素?如何使用byTagname/ByClassName?
看起来我应该在使用nodeType之前注意它,否则我将无法读取null的属性“1”。因此,我越来越依赖于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 &
document.querySelector
vsgetElementbyTagname
/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
,映射
,过滤器
,每个,一些等)。