Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.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选择嵌套元素(无jquery)_Javascript_Html - Fatal编程技术网

按名称属性javascript选择嵌套元素(无jquery)

按名称属性javascript选择嵌套元素(无jquery),javascript,html,Javascript,Html,所以我有这个HTML代码,我需要根据元素的name属性选择元素。问题是我有多个元素具有相同的结构,我需要用循环来抛出它们 <div class="res"> <h4 name="title">title</h4> <span name="span1"></span> <span name="span2"></span> <p name="p1"></p>

所以我有这个HTML代码,我需要根据元素的name属性选择元素。问题是我有多个元素具有相同的结构,我需要用循环来抛出它们

<div class="res">
    <h4 name="title">title</h4>
    <span name="span1"></span>
    <span name="span2"></span>
    <p name="p1"></p>
    <p name="p2"></p>
</div>

标题


我需要按名称选择.res div元素中的每一个元素(或者如果有更好的解决方案,我想告诉您)。

您可以在纯javascript中使用DOM element.children属性

var children = res.children;
for (var i = 0; i < children.length; i++) {
  var child = children[i];
  // Do stuff
}
var children=res.children;
对于(变量i=0;i

或者,如果不想硬编码名称,可以循环使用元素。

您可以使用
.querySelector()
如:

document.querySelector('[name="xxxxxx"]');
var containers = document.querySelectorAll('.res');

for( var i = 0; i < containers.length; i++) {
    console.log( containers[i].querySelector('[name="title"]').textContent );
}
如果您想在所有
res
容器中循环,可以使用
.querySelctorAll()
如下:

document.querySelector('[name="xxxxxx"]');
var containers = document.querySelectorAll('.res');

for( var i = 0; i < containers.length; i++) {
    console.log( containers[i].querySelector('[name="title"]').textContent );
}
var containers=document.querySelectorAll('.res');
对于(var i=0;i
您可以使用
querySelectorAll
和内部循环处理每个元素

const elements=document.queryselectoral(“.res>*”);
elements.forEach(element=>{
控制台日志(元素);
});

标题


我试图使用document.getElementsByClassName(“res”)[0]来访问它。title因为我认为它会像添加完整路径一样工作,但忘记了此路径用于属性,所以我在谷歌上搜索了一下,没有发现任何有用的内容。很明显,我的方法是错误的,我不知道该用什么。我使用了多个div,所以我需要分别抛出每个div。我不知道children函数,谢谢你提供的新信息:D