jQuery不能在IE中工作

时间:2011-01-05 16:24:39

标签: javascript jquery internet-explorer

我的代码在FF中工作正常但在IE中却没有。某些值隐藏在第二个下拉列表中,具体取决于所选第一个下拉列表的值。这些值在FF中正确隐藏,但所有内容都显示在IE中:

function updateMountingMethod() {
    var selectedVal = $('#attrib-13 option:selected').text().split(" ")[0];
    $.each($("#attrib-7").children(), function() {
        var optionText = $(this).text();
        var values = optionText.split('|')[1];
        if (values != undefined) {
            if (values.substring(1, 3) != selectedVal) {
                $(this).css('display', 'none');
            }
            else {
                $(this).text($(this).text().split("|")[0] + $(this).text().split("|")[2]);
            }
        }
    })
}

如果这不是完全清楚的,这里有更好的描述。

我有一个jQuery代码,每次下拉值更改时都会调用它。当值更改时,它将获取所选元素的大小。显示的值看起来像11英尺,15英尺,19英尺,所以我把它分成只得到数字而不是英尺。根据选择的值,它需要更新下一个下拉菜单,该菜单遵循以下格式:

Item 1 | 11'11" |
Item 2 | 15'9"  |
Item 3 | 19'9"  |
...

我不希望显示| |之间的内容,只是将每个项目与所选长度匹配(即选择第一个下拉列表中的11英尺选项,然后仅选择{ {1}}选项显示在第二个下拉列表中)。谁能告诉我为什么这些额外的值不会隐藏在IE中?

1 个答案:

答案 0 :(得分:1)

我在这种情况下做的第一件事就是针对W3C验证HTML;因为HTML不是100%兼容的,所以在IE中通常不起作用。有关我找到的一些问题,请参阅http://hogsmill.wordpress.com/info/