$(function() {
var wrapper = $("<div></div>")
for (i = 0; i < 100; i++) {
wrapper.append("<span></span>");
}
$("body").append(wrapper);
color_rows();
});
function color_rows() {
$("span").each(function(i) {
if (i % 10 >= 5) {
$(this).css("background-color", "red");
}
});
}
CSS:
div {
width: 450px;
height: 400px;
background-color: #ccc;
overflow: auto;
}
span {
display: inline-block;
width: 50px;
height: 50px;
background-color: #777;
margin: 0 30px 30px 0;
}
出力である:
ご覧のとおり、color_rows()
関数は、行ごとに5つの要素があることを前提としています。たとえば、div
の幅をに変更した場合、color_rows()
関数は正常に機能しません(つまり、1行おきに色付けされません)。
color_rows()
はどのようにしてdiv
のすべての幅で機能するように修正できますか?
はTR必要があります。ここでは動作しませn番目の子(奇数)?編集:ああ!私はテーブルがあると思った! – Jawad
テーブルであるかどうかは関係ありません。 CSS3のnth-childはどの要素でも動作しますが、Internet Explorerではサポートされていません。 –