javascript - jQuery .is (":visible") 适用于 Firefox 但不适用于 Chrome

标签 javascript jquery

<分区>

Possible Duplicate:
jquery .is(“:visible”) not working in Chrome

我正在尝试获取数组中的所有可见项。它在 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。

编辑: :Contains 是我自己对 jQuery 库的补充。它是 :contains 的不区分大小写的版本。

最佳答案

隐藏和显示(启用/禁用)选项没有很好地支持跨浏览器(禁用/启用)。请参阅此问题以获得解决您的问题的一种可能方法:jQuery disable SELECT options based on Radio selected (Need support for all browsers)

一旦你的选项被削减,你就可以使用 length 来获得尺寸。

关于javascript - jQuery .is (":visible") 适用于 Firefox 但不适用于 Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9115187/

相关文章:

javascript - Microsoft IE10 中如何判断是否只有一根手指触摸

jquery - 一个标签中的多个类(jquery 和 css)

javascript - 滚动时将 div 移到顶部并停留在那里

javascript - 无法使用 jQuery.ajax() 从 Yelp API 检索数据

jquery - 我可以通过 jQuery 设置 HTML 元素的高度吗?

javascript - Ajax 注释插入 LI 或替换 UL?

javascript - 鼠标悬停在滚动条上时如何显示javascript工具提示?

javascript - Asp .NET HiddenField 导致无效的回发或回调参数

javascript - 在 CKEditor 中设置字体大小和字体系列

javascript - 正在加载并等待 "global" meteor 订阅