FF和Chrome之间的jQuery差异



伙计们,为什么这段代码在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);
                }
            }
    });

谢谢!

似乎 FX-jQuery 中存在关于速记的问题。边框颜色仍然太短。您可以使用全名获取颜色:

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

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

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

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

$(element)[0].classList

这里有一个适用于旧版浏览器的垫片

最新更新