わかりました、私はこれに対する答えを見つけることができません....そして助けを望んでいます....
要素の50%を非表示にするか、要素がXの子を超える場合は非表示にします。
<ul>
<li>
<div></div>
<div></div>
<div></div>
</li>
<ul>
このリストに3つ以上のdivがある場合は、それらを非表示にします。
わかりました、私はこれに対する答えを見つけることができません....そして助けを望んでいます....
要素の50%を非表示にするか、要素がXの子を超える場合は非表示にします。
<ul>
<li>
<div></div>
<div></div>
<div></div>
</li>
<ul>
このリストに3つ以上のdivがある場合は、それらを非表示にします。
プログラムで子を取得し、コードで操作する子を決定できます。
function hideChildrenAbove(n) {
var items = $("#list li").children();
for (i = n; i < items.length; i++) {
items.eq(i).hide();
}
}
hideChildrenAbove(3);
実例: http: //jsfiddle.net/jfriend00/SmVfA/
または、セレクターを使用してセレクター文字列を動的に作成し、セレクター:gt(n)
に作業を任せることができます。
function hideChildrenAbove(n) {
$("#list li div:gt(" + (n - 1) + ")").hide();
}
hideChildrenAbove(3);
実例: http: //jsfiddle.net/jfriend00/pAdqn/
子をクリックすると、3を超える子が切り替わる例を次に示します。
function toggleChildrenAbove(parent, n) {
var items = $(parent).children();
for (i = n; i < items.length; i++) {
items.eq(i).toggle();
}
}
$("#list li").click(function() {
toggleChildrenAbove(this, 3);
});
実例: http: //jsfiddle.net/jfriend00/9nQPL/
css:
ul li div{
display:none;
}
JavaScript:
$('ul li div:lt(3)').show();
これは、「未満」のJQueryセレクターを使用します。これを行うにはおそらくもっとクリーンな方法がありますが、最初の3 divのみを表示したいことがわかっている場合は、これでうまくいくはずです。
まず、要素を数える必要があります。この場合はそうなります。
var elementCount = $("li").children("div").length;
そして、あなたは隠します
$("li").children("div").css("display", "none");
タグにIDを入れることができれば素晴らしいと思います