如何获取另一个元素的elementByClassName
How to get the elementByClassName of another element
如何获取另一个元素的elementByClassName?(尝试获取title
和author
)
HTML
<div class="post">
<div class="top">
<div class="title">Title 1</div>
</div>
<div class="bottom">
<div class="author">Author 1</div>
</div>
</div>
Javascript
我的代码得到了posts
:的列表
var list = document.getElementsByClassName("post");
假设我不能只创建两个类列表,我如何获得title
和author
。
list.getElementsByClassName("top").getElementsByClassName("title");
^^这不起作用,因为list
是一个元素。
这不起作用,因为列表是一个元素。
不,如果list
是一个元素,它就会工作。它不起作用,因为list
是元素的集合。
list[0]
是一个元素:
list[0].getElementsByClassName("top")
但我建议使用querySelector
/querySelectorAll
insetad,它可以让您使用所有CSS选择器(甚至可以在没有getElementsByClassName
的IE8上工作)。
var list = document.querySelectorAll(".post");
例如,这列出了每个帖子的title
和author
:
Array.from(document.querySelectorAll(".post")).forEach(function(post) {
var title = post.querySelector(".title").innerHTML;
var author = post.querySelector(".author").innerHTML;
// ...
});
(Array.from
是ES2015的东西,但可以多填充。Array#forEach
是ES5的东西,如果需要,可以为IE8等真正过时的浏览器多填充。)
您可以迭代getElementsByClassName
返回的HTMLCollection中的元素,对每个元素调用getElementsByClassName
,并将结果推送到数组中。
var elements = [];
[].forEach.call(document.getElementsByClassName("post"), function(el) {
[].push.apply(elements, el.getElementsByClassName("title"));
[].push.apply(elements, el.getElementsByClassName("author"));
});
但最好使用querySelectorAll
:
var elements = document.querySelectorAll(".post .title, .post .author");
相关文章:
- 使用clickToggle并在单击另一个元素时关闭元素
- 按我自己的类克隆另一个元素的内容和顺序
- 如何通过HTML+CSS中的另一个元素Selector更改元素的属性值
- jQuery-将列表项的一个元素移动到同一项的另一个元素中+对我的列表中的每个项执行此操作
- jquery从另一个元素中移除移除
- DIV怎么能像Javascript中的另一个元素一样工作呢
- 使用数据属性将HTML数据复制到另一个元素
- 将鼠标悬停在Angular JS中的一个元素上,并将Class添加到另一个元素中
- 在类JavaScript选择的另一个元素中选择一个标记元素
- 只要存在,就用另一个元素替换一个元素
- 初学者反应查询(如何删除一个元素并附加另一个元素)
- 将jquery ui窗口的父元素设置为另一个元素
- 如何激活下拉菜单:在一个元素上单击768px宽度下方,在另一个元素上将鼠标悬停在768px上方
- Pixijs将元素附加到另一个元素
- JavaScript:将输入范围行为链接到另一个元素
- 如何使用元素's属性值,以针对jQuery中具有相同属性值的另一个元素
- angularjs阵列拼接到另一个元素
- 另一个元素JAVAscript中的元素位置
- 当鼠标也在触摸另一个元素时,d3.js鼠标悬停事件未被触发
- 将元素的可见性绑定到另一个元素