2009-11-14 5 views
2

asp.net mvc (C#) 응용 프로그램의 데이터베이스에서 동적으로 스타일을로드하고 있습니다.jquery를 사용하여 인라인 스타일로 CSS를 가져 오는 방법

로드 된 인라인 스타일의 (배경, 글꼴 색, 글꼴 크기, ...) 같은 속성을 변경하려고합니다. 나는 이것을하기 위해 jquery.rule을 사용하고있다.

변경 사항을 포함하여 전체 인라인 스타일을 업데이트해야하며 jquery를 사용하여 데이터베이스로 다시 보내야합니다. 내가 업데이트 인라인 스타일을 얻을 필요가

<style type="text/css"> 
    <! 
    -- body 
    { 
     background: #fff; 
     margin: 0px; 
     padding: 0px; 
     font: normal 12px Tahoma, Verdana, Arial; 
     color: #636363; 
    } 
    a 
    { 
     color: #d0d0d0; 
     text-decoration: none; 
    } 
    #header 
    { 
     padding-left: 35px; 
     height: 60px; 
     vertical-align: middle; 
     padding-top: 25px; 
    } 
    -- ></style> 

: 같은

머리 내부의 인라인 스타일 보인다. 그것을하는 방법?

답변

2
마가 복음을

도움이되기를 바랍니다

변경 사항을 포함하여 전체 인라인 스타일을 업데이트해야하며 jquery를 사용하여 데이터베이스로 다시 보내야합니다.

페이지의 요소에 대한 인라인 스타일 선언을 읽으려고하십니까? 그렇다면, 이것은 까다 롭습니다. 이론 상으로는 element.getAttribute('style')이나 jQuery와 동등한 번호로 전화 할 수 있어야합니다. 그러나 IE에서는 DOM 속성 액세스가 작동하지 않습니다. 실제로 IE는 문서에서 사용 된 것과 같은 속성을 저장하지 않고 구문 분석 된 스타일 선언 만 결과로 저장합니다.

모든 스타일을 읽는 jQuery 전용 방법은 없지만 DOM Level 2 Style을 사용하여 CSS로 효과적인 인라인 스타일 규칙을 얻을 수 있습니다.

var style= element.style.cssText; 

그러나 이것은 당신이 border-style, border-colorborder-width 다시 점점 될 수 있습니다 border 설정 예를 들어, 당신이 사용하고있는 바로 가기 속성을 분리합니다 IE에서

. IE는 또한 대문자로 속성 이름을 사용합니다. 이것은 당신에게 중요 할 수도 있고 그렇지 않을 수도 있습니다.

별도의 조회 객체에서 작성한 인라인 스타일 변경 사항을 기억하면 더 쉽게 읽을 수 있습니다. jQuery의 data() 메소드를 사용하여 요소에 첨부 할 수 있습니다. '실제'element.style 및 검색 $(element).data('stylestore') 개체를 모두 변경 한 다음 게시하려는 모든 조회 스타일을 조회에서 검색 할 수 있습니다.

+0

$ ('# elementid'). css ('font', 'arial') 클래스를 변경하려면 $ ('# elementid'). css 'font') 클래스 값을 얻으려면 – Mark

+0

페이지의 업데이트 된 인라인 스타일을 가져와야합니다. 내 질문을 샘플 인라인 스타일로 업데이트했습니다. – Prasad

+0

아, 인라인 스타일 속성이 아닌 내부 ** 스타일 시트 **를 의미합니까? 규칙 플러그인은'$ ('style')입니다.cssText()'(스타일 시트를 선택하기 위해 적절한 스타일로''style''을 대체하십시오. – bobince

-1

액션 메소드에 양식을 직렬화 된 데이터를 게시 할 jQuery를 아약스 방법을 사용 :

$.ajax({ 
    type: "POST", 
    url: "/YourController/UpdateCss", 
    data: "font=arial&color=#fff&font-size=10px" 
    success: function(result){ 
     // handle your result here 
    } 
}); 

그런 다음 "FormCollection"를 통해 컨트롤러 액션에 게시 된 데이터에 액세스 할 수 있습니다

[AcceptVerbs(HttpVerbs.Post)] 
public String UpdateCss(FormCollection form) 
{ 
    // handle your form here 
    return "Success"; 
} 

+0

반환 형식으로 문자열을 만들 수 없습니다. 문자열 – eKek0

+0

왜 Ajax 요청에 ActionResult를 반환하겠습니까 ?? bool, json, string 등을 가장 많이 반환 할 것입니다. – Mark

관련 문제