2 回答
TA贡献1802条经验 获得超4个赞
console.log(document.querySelector('a~c+b~c').innerText)
<a></a>
<c>incorrect</c>
<b></b>
<c>correct</c>
<b></b>
<a></a>
console.log(document.querySelector('d~c+a~c').innerText)
<a></a>
<b> </b>
<c> </c>
<c>incorrect</c>
<a></a>
<c>incorrect</c>
<b> </b>
<d> </d>
<b> </b>
<a></a>
<c>incorrect</c>
<a></a>
<c>correct</c>
<a></a>
<c>incorrect</c>
<d> </d>
TA贡献1829条经验 获得超7个赞
要选择<c>correct</c>,您可以使用:
document.querySelector('b+c');
这将选择所有c直接跟在 a 之后的内容b。
如果你想选择位于两个元素之间的所有元素,你不能为此使用 CSS。
虽然有一点点 javascript 是可能的:
// selects all 'c' following an 'a'
for (const element of document.querySelectoAll("a+b")) {
// checks if the next element after 'c' is 'b'
if (element.nextSibling().tagName == "b") {
// prints every 'c' that follows an 'a' and has a 'b' after
console.log(element);
}
}
添加回答
举报