【发布时间】:2012-06-18 18:39:51
【问题描述】:
过滤结果后显示“斑马”列表时出现问题。 我有一个完美显示的斑马列表,代码如下:
$('ul li:odd').addClass('zebra_odd');
$('ul li:even').addClass('zebra_even');
当我过滤输入这样的列表时,问题就来了:
$('input').keyup(function() {
var textboxVal = $(this).val().toLowerCase();
$('ul li').each(function() {
var listVal = $(this).text().toLowerCase();
if(listVal.indexOf(textboxVal) >= 0) {
$(this).show();
} else {
$(this).hide();
}
即在列表上我有这个值:a1, b1, a2, b2, a3, b3. 列表完美地显示了斑马行上的值,但是如果我过滤数据,即“a”,它会在白色背景中显示 a1、a2、a3,它保持旧的奇数, 偶数值。谢谢
【问题讨论】:
-
为什么你的样式表上没有奇偶
ul li:odd、ul li:even的 css 而不是一个新类? -
css 中有这样的东西吗? li:nth-child(odd) { color:black } li:nth-child(even) { color:white } ??我是编程新手,不确定您的建议。
-
检查我的答案,它可以满足您的需求。过滤/隐藏元素后,CSS 将无法正常工作。
-
@Neal,因为他正在过滤元素,
:nth-child(odd or even)不适用于这种情况。因为这些也会考虑隐藏元素。