伙计们,为什么这段代码在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
这里有一个适用于旧版浏览器的垫片