【发布时间】:2012-02-25 06:37:42
【问题描述】:
我正在尝试获取数组中的所有可见项。它在 Firefox 中运行良好,但在 Chrome 中运行良好。
这是我的代码:
$.each (t.config.promoInput, function (i, v) {
var size = 0;
$.each ($(v).find('option'), function (i, v) {
$(v).show() // Show all options in <tt>$(v)</tt>.
.not(':first-child') // Don't hide <tt>(All)</tt>.
.not(':Contains("' + t.config.searchSpanInput.val() + '")') // Don't hide options that match the searchCriteria.
.hide(); // Hide everthing that doesn't match or isn't (All).
if ($(v).is(":visible")) {
size++;
}
});
});
在 Firefox 大小增量中,而 Chrome 大小保持等于 0。
EDIT: :Contains 是我自己对 jQuery 库的补充。它是 :contains 的不区分大小写版本。
【问题讨论】:
-
HTML 是什么样的?
-
请注意,您必须关闭两个
each代码块 -
@Aram,它们总是引用具有这些名称的最接近的已定义变量。因为
i和v是使用的函数的参数..(最里面的) -
还有一个事实是你有“:Contains”(而不是“:contains”,小写)只是一个错字?
-
这在 IE 中有效吗?您是否在选择中使用
<option>?如果是这种情况,使用<option>标签很困难,并且浏览器的行为非常不同
标签: javascript jquery