2013-10-07 2 views
0

아래에는 자바 스크립트 코드 조각이 있습니다.자바 스크립트에서 var 수정 문제

var htmlBlurb = '<div> hello <font color=red>world</font>!!!</div>'; 
$(htmlBlurb).find('font').each(function(e){ 
    $(this).html("Javascript"); 
}); 
console.log(htmlBlurb); 

내가

<div> hello <font color=red>Javascript</font>!!!</div> 

그러나 htmlBlurb로 htmlBlurb의 출력을 기대하고는 변경되지 않습니다.

누군가 내가 뭘 놓치고 설명 할 수 있습니까?

+6

당신은 따라서 그냥 문자열 –

+2

의, htmlBlurb''에 (htmlBlurb)'$ '의 결과를 저장 결코''요소를 사용하지 마십시오; 그것은 오래 전에 사용되지 않았다. – j08691

+3

하지만 그들은 '' – AlienWebguy

답변

2

htmlBlurb은 문자열입니다. $(htmlBlurb)은 요소를 생성하고 일시적으로 저장하지만 $('a')에서 실행중인 작업은 문자열 리터럴 'a'을 수정하지 않는 것처럼 원래 문자열을 수정하지 않습니다. 대신

, 다음을 수행하십시오

var htmlBlurb = '<div> hello <font color=red>world</font>!!!</div>'; 
var blurb=$(htmlBlurb) 
blurb.find('font').each(function(e){ 
    $(this).html("Javascript"); 
}); 
console.log(blurb.wrapAll('<div></div>').parent().html()); 
+0

콘솔에 Javascript 만 표시됩니다. htmlBlurb을 World of javascript로 바꿔 넣으려고합니다. – javaMan

+0

@javaMan은 [here] (http://stackoverflow.com/a/15663100/1198729)의 솔루션을 사용하여 고정되었습니다. – Manishearth

+0

나는이 Javascript javaMan

관련 문제