该片段将循环中的所有<div id="wrap#">
并隐藏他们,如果测试是隐藏的。
$("div[id^='wrap']").each(function() {
var wrap = $(this);
if(wrap.children("div[class^='test']:visible").length == 0) {
wrap.hide();
} else {
wrap.show();
}
});
如果你仍然想保持你<div id="wrap#">
可见,如果有根本没有测试(如没有在标记),您可以使用以下修改的摘录:
$("div[id^='wrap']").each(function() {
var wrap = $(this);
if(wrap.children("div[class^='test']").length > 0 &&
wrap.children("div[class^='test']:visible").length == 0) {
wrap.hide();
} else {
wrap.show();
}
});
没有数字类的强制性理由(边缘情况除外)。你的编号和上面的代码以及你的CSS一样复杂。只需从test
中删除编号就更容易了。 (你不需要它,你可以使用:lt(index)
,:gt(index)
,:eq(index)
,:first
和:last
总是选择其中的一个子集。
至于编号标识,这很好,因为每个ID必须是唯一的。
有人可以编辑问题标题吗?我正在寻找“所有div都是同一个类”,并且几乎通过了这个问题。Upvoting question。 – Jason 2017-09-21 17:10:10