2011-04-14 3 views
1

배경색이 설정되지 않은 경우 div 요소가 숨겨져 있어야합니다. 그래서 나는이 간단한 JQuery와 문을 마련했습니다크롬 배경색 문제 : '투명'값이 유효하지 않습니까?

$(function() { 

if ($('.colorpicker').css('background-color') == 'transparent') 
{ 
$(this).find('.colorpicker-wrapper').css('display','none'); 
} 

}); 

모든 파이어 폭스에서 잘 작동의 BG-색상 설정 값이 없을 때 그것은 래퍼를 숨 깁니다. 그러나 크롬과 사파리에서 그것은 유효한 값으로 투명하게 인식하지 못하는 것처럼 보입니다.

나는 .. '널 (null)'또는 '미확인',하지만 아무 소용에

누구나 어떤 단서를 가지고에 값을 설정하려고했습니다?

답변

0

문제점이 jQuery에서 일치하지 않습니다. 일반적으로 배경색이 설정되지 않은 경우 값은 빈 문자열 ("")로 설정됩니다. 참조 : 파이어 폭스와 크롬 모두

var d = document.createElement("div"); 
return d.style.backgroundColor 

d.style.backgroundColor 항상 돌아갑니다 ""을. 그러나 jQuery css() 함수를 사용할 때 jQuery는이 값을 기본값으로 변환합니다. $('.colorpicker')[0].style.backgroundColor == ""

0

크롬 rgba(0, 0, 0, 0) 대신 transparent의 RGBA 색상을 반환

내가 사용하는 것이 좋습니다. this demo을 확인하고 테스트 할 방법을 확인하십시오 (demo).

if (/transparent|rgba\(0, 0, 0, 0\)/.test($('.colorpicker').css('background-color')) 
{ 
    $(this).find('.colorpicker-wrapper').css('display','none'); 
} 
관련 문제