2014-12-18 1 views
-1

을 칠하지 않습니다 배경색을 div로, 을 h *로 동적으로 할당합니다.JQuery와 .addClass()는 자신의 일을하지만, 브라우저 나는이 새로운 것은 알고 있지만 이미 나는이 문제를 해결하지 않고 발견 된 모든 구제 ...</p> <p>나는 줄 일부 jQuery 코드를 시도

  1. CSS를 제대로로드되고 모든 적용
  2. .addClass 방법은 내가 클래스가 올바른 요소
  3. 색상 돈 '에 할당 볼 수있는 크롬의 DevTools로를 사용하여, 내가 기대하는 것을 정확히하고있다 내가이

    $.fn.redraw = function(){ 
        return $(this).each(
         function(){ 
          var redraw = this.offsetHeight; 
         } 
        ); 
    }; 
    
    뭔가를하려고하면 t 스타일 관리자의 변화
  4. , 아무것도 새로운 스타일에 대해 표시되지는
  5. 적용

    $(selector).redraw(); 
    

    가 작동하지 않습니다이 방법 변경의 마지막에 호출.

  6. FF/Chrome은 동일하게 동작합니다.

코드를 변경하고 .attr ("style", value) insted. instClass를 사용하여 인라인 스타일을 지정하면 작동합니다! 하지만 그 해결책은 마음에 들지 않습니다. 외부 CSS를 사용하여 하드 코드 인라인 스타일을 피하는 것을 선호합니다.

누군가가 제안을 했습니까? 그것은 내가 올바른 단계를 추측하기 위해 노력하고있어 이일 ... 저도 같은 문제가 기억

+2

링크/jsfiddle을 게시 할 수 있습니까? 어떤 옵션을 제안하기가 힘들다는 것을 말하는 코드를 보았습니다 (즉, 클래스를 추가하기위한 코드와 그 클래스와 관련된 CSS 스타일을 언급했지만, 여기에는 아무 것도없고 단지 몇 가지 코드 만 필요합니다) – atmd

+0

css 파일이 올바르게로드되어 있습니까? – Mivaweb

+0

백그라운드 속성에 대한 CSS 클래스의 important 키워드를 시도하십시오. – saqibahmad

답변

0

이다, 내가이 일을 해결했다 믿습니다

$(this).removeClass("old_class"); 
$(this).css({ 'background-color' : '' }); 
$(this).addClass("new_class"); 

먼저 기존의 클래스를 제거하고 배경 - 설정 색을 없애고 마지막으로 새 클래스를 추가하십시오.

+0

Oki thx, 오늘 밤 나는 이것을 시도하고 어떻게되는지 말해 보겠다. – Luigi

+0

아니, 효과가 없다. CSS의 영향을받는 콘텐츠가 런타임에로드된다는 사실과 관련이있을 수 있습니까? – Luigi

+0

[Fiddle] (http://jsfiddle.net/rsyq9qa8/)을 확인하고 사례를 이해하는 데 유용한 것으로 생각되는 부분을 변경하십시오. http://jsfiddle.net/rsyq9qa8/ – jcbermu