2016-06-06 2 views
2

다음 스 니펫을 고려하십시오. typescript에 여러 CSS 속성을 설정해야합니다. 그 때문에 나는 아래의 코드를 시도했다. 소자 암묵적 '모든'타입을 갖는 한 제가요소의 타이프 스크립트에서 여러 CSS 스타일 속성을 설정하는 방법은 무엇입니까?

let elem: HTMLElement = document.getElementById('myDiv'); 
setStyleAttribute(elem, {font-size:'12px', color : 'red' , margin-top: '5px'}); 

으로 파라미터를 전달하지만, 상기 코드는 오류 (tslint)를 발생해야 상기 코드

public static setStyleAttribute(element: HTMLElement, attrs: { [key: string]: Object }): void { 
     if (attrs !== undefined) { 
      Object.keys(attrs).forEach((key: string) => { 
       element.style[key] = attrs[key]; 
      }); 
     } 
    } 

인덱스 식 형이 아니기 때문에 '번호'. (속성) HTMLElement.style : CSSStyleDeclaration.

제발 도와주세요! 당신이이 HTLMDivElement와 그 안에 포함 된 CSSStyleDeclaration을 사용하여 달성 할 수

나는 이것이 당신이나 다른 사람을 도움이되기를 바랍니다

+0

이 줄에 오류가 발생했습니다 .......... element.style [key] –

답변

0

.... 예.

var container: HTMLDivElement; 

container.style.color = "red"; 
container.style.fontSize = "12px"; 
container.style.marginTop = "5px"; 

이것은 또한 HTMLElement에서 상속 예를 HTMLBodyElement에 대한 style 속성을 (가 다른 클래스에 적용됩니다.

+1

은 일부 문자 일 수 있습니다. 내 시나리오가 아닙니다. :) –

6

setAttribute를 사용해보십시오. 타이프 라이터가 Elementstyle 속성이 없습니다.

element.setAttribute("style", "color:red; border: 1px solid blue;"); 

GitHub 관련 문제에 대한 몇 가지 관련 토론 : https://github.com/Microsoft/TypeScript/issues/3263

+0

안녕하세요. @ srinivasan-natarajan, 이것이 작동하는 경우 수락 된 답변으로 표시해주세요. 감사합니다. – theUtherSide

+1

이 부분은 수락 된 답변으로 표시되어야합니다. 도움을 주신 덕분에 @theUtherSide : D –