javascript - 如何使用querySelector选择动态添加的元素

标签 javascript html css

我有一个像这样的 dom:

<ul>
   <li><a>test</a></li>
   <li><a>test</a></li>
   <li><a>test</a></li>
   <li><a>test</a></li>
</ul>

<li>元素被动态添加到 html 中,因此我无法向其添加 id。 我正在使用 css 选择器来选择 <li>元素使用:

document.querySelector("li:nth-child(1)")

但是我怎样才能选择 <a> <li> 内的元素?我可以在另一个 querySelector 中做一个 querySelector 吗?或者有一些更好的方法来做到这一点?谢谢。

最佳答案

But how can I select the <a> element inside the <li>?

选择器语法包括the descendant combinator , 这是一个空格

document.querySelector("li:nth-child(1) a")

Can I do a querySelector inside anther querySelector?

querySelector方法出现在所有 HTML 元素上。你可以链接它们:

document.querySelector("li:nth-child(1)").querySelector('a');

…在这种情况下你可能不应该这样做。

如果您选择多个元素(使用 querySelectorAll ),那么这将不太可行,因为您必须遍历第一组结果,然后查询每个结果的后代。

使用原生选择器语法通常更容易、更清晰。

关于javascript - 如何使用querySelector选择动态添加的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30578393/

相关文章:

html - 无法对齐图片和文字

javascript - 顶部导航菜单下拉菜单隐藏在网页内容下方,我想在不同的屏幕尺寸上固定内容位置

javascript - 如何将图像保留在具有设定宽度和高度的 div 中,但隐藏图像的其余部分?

html - 在 TextMate 中轻松清理 HAML 间距

html - 视频 div 和文本 div 之间的空白

css - 导航栏导航悬停的 Bootstrap 更改颜色

css - 如何以百分比格式显示 td 标签数据

javascript - 如何在 AngularJS 的表单验证中隐藏/显示帮助消息?

javascript - 对流中的每个元素应用多个函数

java - 为什么日期在不同时区以相同的毫秒数变化?