IndexOf Internet Explorer to InArray,长度失败

时间:2015-03-14 15:31:22

标签: jquery asp.net-mvc internet-explorer razor

我收到以下错误,无法获取属性'slice'。 当我更改代码以使其与IE兼容时,会出现此问题。

            function change_hash(hash) {
                hash = hash.replace(/^.term/, 'category');
                window.location.href = '#' + hash;

                $('.pagination a').each(function () {

                    var item = $(this),
                        href = item.attr('href'),
                        //end_slice = href.indexOf('#') == -1 ? href.length : href.indexOf('#');
                        end_slice = $.inArray(href, '#') == -1 ? $('href').length : $.inArray(href, '#');

                    href = href.slice(0, end_slice); // PROBLEM OCCURS HERE
                    item.attr({ 'href': href + '#' + hash })
                })
            }

1 个答案:

答案 0 :(得分:0)

@SpcCode:我想问题是由于以下行: end_slice = $ .inArray(href,'#')== -1? $('href')。length :$ .inArray(href,'#');

它应该是: end_slice = $ .inArray('#',href)== -1? href.length:$ .inArray('#',href);