0
a行の項目数を数える関数を作成しようとしています。そして、その項目の後ろにdivを挿入して、項目数の下に全体の行が入るようにしたいのです。行の項目を数えてdivの後にdivを追加する方法
ここまでは私の機能です。でも、必ず私は正しい軌道に乗ってる場合...詳細はこのCodePenを参照してくださいません:http://codepen.io/Auzy/pen/gmYBJy
var parentSelector = $('.container');
var childSelector = $('.box');
function countFirstRowItems(parentSelector, childSelector){
var count = 0, theTop = undefined;
$(parentSelector + " > " + childSelector).each(function(){
var thisTop = $(this).offset().top;
if(theTop === undefined){
theTop = thisTop;
}
if(thisTop != theTop){
return false;
}
count++;
});
return count;
}
console.log(countFirstRowItems());
あなたは、行の最後の項目の後にdiv要素を挿入したいですか? – Patrick
あなたのHTML構造は正確に何になるのですか?何を数えようとしていますか?これらのdivはdiv内にありますか、またはこれは
'.box'要素の後に' div'を追加しますか?たとえば、金額が3の場合、これは次のようになります。 '.box - .box - .box - DIV - .box - .box - .box - DIV - .box ...'? –
答えて
出典
2017-02-22 22:57:02
これは
div
の挿入に対応していませんが、それは、コードの権利と間違って何対処しません今。これらの行:
行くとあなたのjQueryを取得するには、一致する要素のセット包まれました。彼らは、セレクタとして有効ではありませんので、あなたは、このやるしようとすると:あなたがオブジェクトを使用している、ここでは文字列を使用していないので、
コードがクラッシュします。
代わりに、値を文字列として関数に直接渡すだけです。
また、見つかった要素の数を取得しようとしている場合は、
count
を1
でバンプします。最後に、変数を初期化しない場合は、これが初期化されるため、
undefined
で変数を初期化しないでください。代わりに、 'null'でそれらを初期化し、それをチェックしてください。出典
2017-02-22 22:31:47
'$(p +"> "+ c)'の代わりに '$(p).children(c)'がより明確になるかもしれません。 – Barmar
@Barmarはい、問題の内容を説明するためにOPの構文を付けました。 –
あなたは最後の子を対象とし、クラスの後、擬似を適用するためにCSSを使用することができます。
Code Pen
出典
2017-02-22 22:42:43 Patrick
関連する問題