【发布时间】:2016-07-20 03:08:33
【问题描述】:
我想知道是否可以在我的 DOM 中找到具有这些约束的特定元素:
- 元素没有id,你必须遵循特定的顺序(childs in childs)。
- 简单的语法(例如:数组的 css 选择器语法)
- 可选但首选:原生 JS(原版)
例子:
<body>
<div></div>
<div></div>
<div>
<div>
<div>TEXT TO UPDATE</div>
</div>
<div>
<div></div>
</body>
我想做这样的事情:
document.querySelector('body > div[2] > div[0] > div[0]').innerHTML = 'UPDATED';
如果我的约束太强,你有 jQuery 的替代解决方案吗?
编辑:感谢Rajaprabhu Aravindasamy,解决方案是:
document.querySelector("body > div:nth-child(3) > div:nth-child(1) > div:nth-child(1)").innerHTML = 'UPDATED';
【问题讨论】:
-
document.querySelector('body > div:nth-child(3) div').innerHTML = 'UPDATED'; -
您显示的内容只有
div元素。在你的实际数据中是真的吗? (这是相关的。) -
正如@RajaprabhuAravindasamy 所建议的,答案是nth-child selector。请注意,
n是基于 1 而不是基于 0。 -
document.querySelector("div > div").innerHTML = "UPDATED";将在您的示例中起作用。但是,我怀疑您的示例并不像您的问题所问的那么清楚。
标签: javascript jquery dom css-selectors