2016-08-10 5 views
0

이 JS 코드는 이미지를 표시하지 못했지만 대신 [object HTMLImageElement] 문자열을 제공합니다.
어떻게이 위치에 이미지가 표시되도록 고정시킬 수 있습니까? 감사합니다이미지가 HTML 페이지에 표시되지 않습니다

let signature = $('canvas.signature').get(0).toDataURL(); //earlier in the code 

let w = window.open(); 
let doc = w.document; 
doc.write(html); 
doc.close(); 
let sigImg = new Image(); 
sigImg.src = signature; 
let nodes = doc.querySelectorAll('td.Label'); 
for (var i = 0; i < nodes.length; i++) { 
    var item = nodes[i]; 
    if (item.textContent === "User's signature:") { 
    item.nextElementSibling.innerHTML = sigImg; //<--- failed to show the image 
    } 
} 

편집
나는 이미지와 td 요소의 내용을 대체하고 싶었 기 때문에 내가 item.nextElementSibling.appendChild(sigImg); 가 사용하지 않은 이유. 하지만이 솔루션을 사용해도 오른쪽 아이콘을 클릭하여 새 페이지에서 열면 작은 아이콘이 표시됩니다 (이 사이트에 연결할 수 없음).

답변

2

문제는이

item.nextElementSibling.innerHTML = sigImg; 

함께 ...

item.nextElementSibling.innerHTML = ''; // clear contents 
item.nextElementSibling.appendChild(sigImg); 

sigImg로 변경하는 객체, 당신은 내가 당신의 코드를 대신 표시는 [개체 개체]를 얻을 찾을 수 있습니다 가정하십시오

+0

귀하의 솔루션이 작동하지 않는 이유에 대한 편집을 참조하십시오. –

+0

아, nextElementSibling의 내용을 바꾸시겠습니까? –

+0

편집보기 @FredJ. –

관련 문제