FF和Chrome之间的jQuery区别

时间:2015-04-26 05:48:56

标签: jquery html css

他们,为什么这段代码适用于Chrome,但不适用于FF?

以下警告在FX中为空白,但在Chrome中为我提供了RGB颜色

jQuery.each(menuids, function(index, value) { 
        var allclass = jQuery('#'+value).attr('class');
        if( (allclass.split('current-menu-item')).length > 1){
                var currentURL = window.location.href;
                var allhtml = jQuery('#'+value).html();
                var allhtml_arr = allhtml.split('href="');

                var allhtml_arr1 = allhtml_arr[1].split('">');

                if( allhtml_arr1[0] == currentURL ) {
                    var allclass_arr = allclass.split(value);
                    var current_colorcls = jQuery.trim(allclass_arr[1]);
                    jQuery('ul#primary-menu').addClass(current_colorcls);

                    var prop = jQuery('ul.'+current_colorcls).css('border-top');
                    var prop_arr = prop.split('solid');
                    var current_colorcode = jQuery.trim(prop_arr[1]);
                    alert(current_colorcode);
                    jQuery('.crg-theme-color').css('color',current_colorcode);
                    jQuery('.site-info').css('border-top', '3px solid '+ current_colorcode);
                }
            }
    });

谢谢!

1 个答案:

答案 0 :(得分:4)

似乎有一个issue in FX-jQuery about shorthand。边框颜色仍然太短。您可以使用全名获取颜色:

var prop = jQuery('ul.'+current_colorcls).css('borderTopColor');

实施例

console.log(jQuery('ul.Atlantis').css("borderTopColor"))

给了我"rgb(167, 204, 61)"

PS:要获取所有类的列表,您可以在较新的浏览器中执行此操作

$(element)[0].classList

有一个shim for older browsers here