【发布时间】:2018-11-28 11:57:43
【问题描述】:
我在这里要做的是我有一个列表,每个列表项都有伪元素:before,最初伪元素将设置为display:none,但是当单击我想要的列表项时要显示放置在该项目之前的伪元素,我该怎么做?
这是我尝试过的。
$('.lab-list li').on('click', function() {
$(this: before).css({
"display": "block"
});
});
.lab-list li {
list-style: none;
}
.lab-list li:hover {
cursor: pointer;
}
.lab-list li:before {
content: "\2708";
padding-left: 20px;
padding-right: 20px;
display: none;
}
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<ul class="lab-list">
<li>Stockholm</li>
<li>Delhi</li>
<li>Zurich</li>
<li>Newyork</li>
<li>South hampton</li>
<li>Manila</li>
<li>Singapore</li>
</ul>
【问题讨论】:
-
伪元素不能被 JS 选择,因为它们不在 DOM 中。将类应用到伪父级并使用 CSS。