jQuery 在文档中找到某些 DIV 时在 :after 中显示内容
jQuery show content in :after when certain DIV is found in document
我在我们的商店上有用户评论选项卡,并在 .tab:after
中添加了图片以使其更显眼。但是我只想在已经有任何用户评论时才显示此内容。
为什么我的代码不起作用?
<script>
$(document).ready(function() {
if($('.review').length) {
$(".tab:after").css("display", "block");
}
else {
$(".tab:after").css("display", "none");
}
});
</script>
编辑: 谢谢大家!这很神奇:
$(document).ready(function() {
if($('.review').length >0) {
$(".tab").addClass('show-it')
}
});
CSS:
.tab:after {
display:none;
}
.tab.show-it:after {
display:block;
}
试试这个:
<script>
$(document).ready(function() {
if($('.review').length >0) {
$(".tab:after").css("display", "block");
}
else {
$(".tab:after").css("display", "none");
}
});
</script>
那是因为 ".tab:after"
选择器会 return 一个空集作为 jQuery 而 JavaScript 一般不能 select/manipulate CSS 伪元素。您可以使用 class,切换它并将操作留给 CSS.
.tab.block:after {
display: block;
...
}
$(".tab").toggleClass("block", $(".review").length > 0);
您需要删除 :after
。请参阅下面的link
我在我们的商店上有用户评论选项卡,并在 .tab:after
中添加了图片以使其更显眼。但是我只想在已经有任何用户评论时才显示此内容。
为什么我的代码不起作用?
<script>
$(document).ready(function() {
if($('.review').length) {
$(".tab:after").css("display", "block");
}
else {
$(".tab:after").css("display", "none");
}
});
</script>
编辑: 谢谢大家!这很神奇:
$(document).ready(function() {
if($('.review').length >0) {
$(".tab").addClass('show-it')
}
});
CSS:
.tab:after {
display:none;
}
.tab.show-it:after {
display:block;
}
试试这个:
<script>
$(document).ready(function() {
if($('.review').length >0) {
$(".tab:after").css("display", "block");
}
else {
$(".tab:after").css("display", "none");
}
});
</script>
那是因为 ".tab:after"
选择器会 return 一个空集作为 jQuery 而 JavaScript 一般不能 select/manipulate CSS 伪元素。您可以使用 class,切换它并将操作留给 CSS.
.tab.block:after {
display: block;
...
}
$(".tab").toggleClass("block", $(".review").length > 0);
您需要删除 :after
。请参阅下面的link