2011-04-01 5 views
3

제목에 javascript 또는 jquery로 div의 스타일 속성을 반복 할 수 있는지 궁금합니다. 내가하고 싶은 것은 스타일을 반복하고 이러한 스타일 이름과 값을 포함하는 객체를 만드는 것입니다. 여기 javascript 또는 jquery로 div의 스타일 속성을 반복 할 수 있습니까?

는 내가 뭘하려고 오전의 예입니다

alert($('#mydiv').attr('style')); 

을 다음 제공합니다 :

background-color: #CCCCCC; border-width: 2px; border-style: solid; width: 250px; 

을 그리고 나는이처럼 보이는 개체를 만들려면 :

{"background-color":"#CCCCCC","border-width":"2px","border-style":"solid","width":"250px"} 

내가 알아낼 수없는 것은 이것이 스타일을 반복하면서 달성 할 수 있는지 또는 내가 cr 아래 코드와 비슷한 코드를 사용하여 객체를 직접 작성하십시오.

var style = {}; 

style['width'] = $('#mydiv').css('width'); 

모든 입력 사항을 보내 주시면 감사하겠습니다.

+0

두 번째 방법 (객체 생성)을 사용하는 것 – corroded

답변

6

원하는대로 할 수 있습니까?

var parts = style.split(";") 
var obj = {} 
for (var i=0;i<parts.length;i++) { 
    var subParts = parts[i].split(':'); 
    obj[subParts[0]]=subParts[1]; 
} 
내가 거기 선언하기 때문에 루프 방식으로 모든 스타일의 값을 통해 나하지, 그들은 거기 (당신은 폭을 선언하지 않는 경우에도, 여전히 폭을해야합니다) 것 때문에 가장 생각하지 않습니다
+0

감사합니다. 나는 이런 식으로 생각하지 않았다. –

1

<div id="id" style="color: red"/>의 경우 은 color: red 문자열을 반환하므로 직접 반복 할 수 없습니다.

그러나 배열 string.split(';')을 만들어 루프 할 수 있습니다.

하지만 CSS는 내부의 <style> 태그 또는 일부 css 파일과 관련되어 있습니다. 나는 그걸 얻을 수 있다고 생각하지 않습니다. 그러나, 나는 확실하지 않다.

관련 문제