Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.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_Jquery_Html - Fatal编程技术网

Javascript 如何通过标记名获取子节点

Javascript 如何通过标记名获取子节点,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试访问子节点。到现在为止,一直都还不错。我的代码是 columns=document.getElementById('columns')。子项[0]。子项 其中i和j是循环值 collapseState=columns[i]。children[j]。children[2]。style.display 但我正在尝试通过标记名获取元素。让我们写: collapseState=columns[i].children[j].children.getElementsByTagName('blahb

我正在尝试访问子节点。到现在为止,一直都还不错。我的代码是

columns=document.getElementById('columns')。子项[0]。子项

其中i和j是循环值


collapseState=columns[i]。children[j]。children[2]。style.display

但我正在尝试通过标记名获取元素。让我们写:


collapseState=columns[i].children[j].children.getElementsByTagName('blahblah')


但它给出了错误。如何实现这一点?

您的问题源于试图使用计算机上不存在的函数。要使用
getElementsByTagName
getElementsByClassName
函数,需要获取单个
ParentNode

collapseState=columns[i].children[j].getElementsByTagName('blahblah')


collapseState=columns[i]。children[j]。children[someIndex]。getElementsByTagName('blahblah')

这可能对您有所帮助

function getbytagname(parents_id, children_tag_name){
var c = document.getElementById(parents_id).children;
var x = [] ;
for(var i =0; i<c.length;i++)
 {
  if(c[i].tagName===children_tag_name){ // children_tag_name should be in capital, eg. "SPAN"
   x.push(c[i]);
  }
 };
return x;
}
函数getbytagname(父项\u id、子项\u标记\u名称){
var c=document.getElementById(parents\u id).children;
var x=[];

for(var i=0;iVM217:1未捕获类型错误:列[i]。children[j]。children.getElementsByClassName不是函数(…)
。children
是HtmlCollection。它没有该函数。单个节点将具有该函数。例如,
。children[0]。getElementsByClassName(…)
请参阅:和
querySelectorAll(“#columns blahblah”)
什么是HTML,我打赌有更好的方法。columns[I].children[j].children[0].getElementsByTagName(“h3”).innerHtmlYou不能在HtmlCollection上调用
innerHtml
(这是
getElementsByTagName
返回的)。
getElementsByTagName('h3')[0]。innerHtml