【发布时间】:2016-01-30 14:54:19
【问题描述】:
我正在写一个small library,我需要通过querySelector 方法选择与目标元素相关的元素。
例如:
HTML
<div class="target"></div>
<div class="relative"></div>
<!-- querySelector will select only this .target element -->
<div class="target"></div>
<div class="relative"></div>
<div class="target"></div>
<div class="relative"></div>
JavaScript
var target = document.querySelectorAll('.target')[1];
// Something like this which doesn't work actually
var relativeElement = target.querySelector('this + .relative');
在上面的例子中,我试图选择 .relative 类元素,该元素仅与 .target 元素相关,其值存储在 target 变量中。任何样式都不应应用于其他 .relative 类元素。
PS:选择器可能会有所不同。所以,我不能使用 JavaScript 的预定义方法,例如 previousElementSibling 或 nextElementSibling。
我不需要 jQuery 或其他 JavaScript 库中的解决方案。
【问题讨论】:
-
关系是否总是兄弟关系(相邻或一般)关系(或)可以是子/后代、兄弟的子等?
-
@Harry 它可以是任何东西。就像 CSS 选择器一样。
标签: javascript html css-selectors