다음을 사용하여 특정 요소에 CSS 값을 설정하면
$('#element').css('background-color', '#ccc');
해당 요소 별 값을 설정 해제하고 다음과 같이 계단식 값을 사용할 수 있기를 원합니다.
$('#element').css('background-color', null);
하지만 그 구문은 작동하지 않는 것 같습니다. 다른 구문을 사용하여 가능합니까?
편집 : 값은 상위 요소에서 상속되지 않습니다. 원래 값은 요소 수준 선택기에서 가져옵니다. 혼동을 드려 죄송합니다!
답변
로부터 의 jQuery 문서 :
스타일 속성의 값을 빈 문자열 (예
$('#mydiv').css('color', '')
:)로 설정하면 HTML 스타일 속성, jQuery의.css()
메소드 또는style
속성 의 직접적인 DOM 조작을 통해 이미 직접 적용된 경우 요소에서 해당 속성이 제거 됩니다. 그러나 스타일 시트 또는<style>
요소 에서 CSS 규칙과 함께 적용된 스타일은 제거되지 않습니다 .
답변
나는 당신도 할 수 있다고 생각합니다.
$('#element').css('background-color', '');
그것이 display
필드를 표시 / 숨기기 위해 plain-old-javascript 의 속성에 대해 오래 전에 사용했던 작업 입니다.
답변
실제로 내가 잘못되었다고 생각한 구문 null
이 작동하는 것 같습니다. 선택기가 부적절하게 구성되어 요소가 생성되지 않았습니다. 오!
답변
이 시도:
$('#element').css('background-color', 'inherit');
답변
이것이 ‘필터’를 위해 IE 8에서 작동하지 않는 것처럼 보이므로 이것을 사용해야했습니다 (fadeIn 콜백에서).
$(this).attr('style', $(this).attr('style').replace(/\bfilter:\s*;*/, ''));
분명히, CSS가 효과를 발휘할 수 있도록 빈 인라인 필터 선언을 제거해야했습니다. 다른 인라인 규칙이있어서 스타일 속성을 제거 할 수 없었습니다.
답변
도움이된다면 큰 따옴표로 문제를 추가합니다.
$('#element').css("border-color", "");
동안 작동하지 않습니다
$('#element').css('border-color', '');
공장