채택완료

object에 innerhtml 하는방법

Copy
for(i=0; i<10; i++){

  var a = i

}

text = $('<li><div>'+a+'</div></li>')

이런식으로 text라는 <li></li>가 10개 생성됩니다

object에 저장해놓고 다음에 다른 값을 넣을때 저걸 위치값으로 쓰고 싶은데요.

map에 넣어서

Copy
var myMap = new Map();

myMap.set(a,text); 

=>

{

'1' => '$('<li><div>1</div></li');,

'2' => '$('<li><div>2</div></li');,

..

'10' => '$('<li><div>10</div></li');,

}

이런식으로 들어가있습니다

이걸 

Copy
console.log(myMap.get(1)) 찍어보면

 

n.fn.init [li]

  0: li.div

  length: 1

  _proto_: Object(0)

이런식으로 n.fn.init object가 나오는데 안에 살펴보면

innerHTML, outerHTML 등등 엄청 많이나오는데

이 object안에 뭔가 innerHTML (jquery after,before)을 사용하고 싶은데

Copy
var c = myMap.get(1);         =>  $('<li><div>1</div></li>')  출력

 

c.before($('<li>33</li>');

이런식으로 해보니 안됩니다 c가 n.fn.init Object인데

Object에 들어있었던

Copy
'1' => '$('<li><div>1</div></li>');

 

있는 $('<li><div>1</div></li>')

여기를 어떻게 찾아가서 innerHTML 할수있을까요?

보통 셀럭터.appendTO('값') 이런식으로 셀렉터를 이용해서 위치를 찾아가는데

Object나 문장으로도 찾을수 있는지 궁금합니다.

|

답변 1개

채택된 답변
+20 포인트

DOM 핸들링은 화면에 있는 것을 핸들링하는 것입니다.

지금 말씀하시는 것을 보면 아직 화면에 뿌려지기 전에 object에 있는 것 같은데..

Object handling 같은 것을 사용해서 추가하셔야 될 것 같습니다.

답변을 작성하려면 로그인이 필요합니다.