Ответ 1
Вы можете попробовать использовать выбор XPath - см. примеры здесь: http://zvon.org/xxl/XPathTutorial/Output/
EG Как выбрать второй div в этом списке, если все, что у меня есть, это идентификатор третьего?
<div></div>
<div>I want this</div>
<div id="i_know_this"></div>
Вы можете попробовать использовать выбор XPath - см. примеры здесь: http://zvon.org/xxl/XPathTutorial/Output/
Путь выбора CSS не дает вам привилегии для перемещения назад в иерархии DOM, в этом случае вам придется использовать XPath //*[@id='i_know_this']/preceding-sibling::div[1]
Вы можете использовать библиотеку ax ( ax - постпроцессор CSS).
В этом случае непосредственный предыдущий селектор ax имеет значение ?
.
(Это противоположно +
в обычном CSS).
Рабочий пример:
div {
height: 36px;
padding: 6px 12px;
line-height: 36px;
}
#i_know_this:hover ? div {
color: rgb(255, 255, 255);
background-color: rgb(255, 0, 0);
}
<div>Ignore me</div>
<div>I want this</div>
<div id="i_know_this">Hover me</div>
<script src="https://rouninmedia.github.io/axe/axe.js"></script>