我怎样才能只显示文章的第一部分.class1
。我首先隐藏所有元素,只显示文章的第一部分,并显示类.class1
。我想过:firstChild
但我非常缺乏经验,我不知道如何解决这个问题。
<article class="x class1">
<section>
<p>1</p>
</section>
<section>
<p>1</p>
</section>
</article>
<article class="x class2">
<section>
<p>2</p>
</section>
<section>
<p>2</p>
</section>
</article>
<script type="text/javascript">
$(document).ready(function () {
$(".x").hide()
});
</script>
答案 0 :(得分:1)
像这样使用jquery的not:
$(".x").not(".class1").hide();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<article class="x class1">
<section>
<p>1</p>
</section>
<section>
<p>1</p>
</section>
</article>
<article class="x class2">
<section>
<p>2</p>
</section>
<section>
<p>2</p>
</section>
</article>
都能跟得上!要只显示class1元素的第一部分,你可以使用它:
$(".x section").not(":eq(0)").hide(); //hides all the section inside the .x class, except the first
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<article class="x class1">
<section>
<p>1</p>
</section>
<section>
<p>2</p>
</section>
</article>
<article class="x class2">
<section>
<p>3</p>
</section>
<section>
<p>4</p>
</section>
</article>
谢谢@pawel!
答案 1 :(得分:1)
看看这个example它应该可以帮到你。
你可以像你正在做的那样隐藏它们,只是先使用,就像你想要显示第一个一样。
答案 2 :(得分:1)
仅限CSS:
article {
display: none;
}
article[class*="class1"] {
display: inherit;
}
article[class*="class1"] section:nth-child(2) {
display: none;
}
<强>兼容性强>
答案 3 :(得分:0)
答案 4 :(得分:0)
使用此:
$(document).ready(function () {
$(".x > section").not(":first").hide();
});
答案 5 :(得分:0)
在这个特定的引用中我会使用
$('article + article, section + section').hide();
它会隐藏每个<article>
之后的<article>
(所以不是第一个),与<section>
s类似。