2013-12-16 1 views
0

document.write()로 자바 스크립트 파일에 이미지를 게시하려고합니다. 문제는 내가 그것을 시도 할 때, 이미지는 항상 깨진다는 것입니다. 여기에 코드가 있습니다. 태그를 잘못 쓰고 있습니까? 비 자바 스크립트 페이지의 이미지를 테스트 해 보았는데 정상적으로 표시되는 것 같습니다.document.write()로 페이지에 이미지 표시

var replay = "yes"; 
var userChoice = prompt("Do you choose rock, paper or scissors?"); 
userChoice = userChoice.toLowerCase(); 
var computerChoice = Math.random(); 
if (computerChoice < 0.34) { 
    computerChoice = "rock"; 
} else if (computerChoice <= 0.67) { 
    computerChoice = "paper"; 
} else { 
    computerChoice = "scissors"; 
} 
var compare = function (choice1, choice2) { 
    if (choice1 === choice2) { 
     document.write("The result is a tie!"); 
    } 
    if (choice1 === "rock") { 
     if (choice2 === "scissors") { 
      document.write('<img src="images\orna.jpg\">'); 
     } else { 
      document.write("Computer chose paper. Computer wins."); 
     } 
    } 
    if (choice1 === "paper") { 
     if (choice2 === "scissors") { 
      document.write("Computer chose scissors. Computer wins."); 
     } else { 
      document.write("Computer chose rock. Player wins."); 
     } 
    } 
    if (choice1 === "scissors") { 
     if (choice2 === "paper") { 
      document.write("Computer chose paper. Player wins."); 
     } else { 
      document.write("Computer chose scissors. Computer wins."); 
     } 
    } 
}; 
compare(userChoice, computerChoice); 
+0

이미지의 일부에 전체 URL이 무엇 일 것입니다 :

document.write('<img src="images/orna.jpg">'); 

또는 문자열이 이중 인용 된 경우, 당신은 같은 내부 따옴표를 이스케이프해야

? example.com/??? <- 무엇을해야합니까 ??? 있다? – Endophage

+0

이미지가 플래시 드라이브의 폴더에 있습니다. 내 HTML 파일은 한 수준 위에 있습니다. 그래서 예제는 images \ rock.jpg입니다 – user3068063

+0

document.write (""); – way2vin

답변

0

를 사용하여, 당신이 바로 슬래시와 함께 백 슬래시를 교체해야 생각 할 수 있습니다 '<img src="images/orna.jpg">'. 데모가 있습니다 (승리 할 때까지 "뛰기"를 클릭하십시오) : http://jsfiddle.net/wared/d9wVC/.

+1

변수를 사용하여 이미지 경로를 입력하는 방법은 무엇입니까? 예를 들어 타이 브레이커의 경우, 넥타이에 넣을 이미지를 확인하기 위해 변수를 사용해야합니다. 그것은'' '' – user3068063

+0

거의 :)와 같을까요. '' '' – leaf

+0

아, 이제 알겠습니다. 감사. – user3068063

0

document.write()을 사용하지 마십시오. 그것은 해 롭습니다. 대신, 당신이해야 할 일은 <div></div>을 만들고 그것에 물건을 추가하는 것입니다.

어쨌든 당신의 물건이 작동하지 않는 이유는 \입니다. 예를 들어 <img src="images\orna.jpg\"> 인 경우 \은 이스케이프 문자로 작동하며 무시됩니다. 귀하의 문자열 ''은 '<img src="imagesorna.jpg">'으로 평가됩니다. 귀하가 원하는 것은 아닙니다. 파일 경로가 올바른지, 그리고 그들이 경우, 당신은 어쨌든

'<img src="images\\orna.jpg\\">' 

로를 변경 div를 만든 다음 jQuery를 또는 순수 자바 스크립트를 사용하여, 그들에 요소를 추가 할 필요가 있는지 확인합니다. 당신은 innerHTML에 액세스하여, 또는 당신은 거의 그것을받은 .append()의 jQuery 방법

0

저는 scrblndr3에 document.write가 좋지 않음에 동의합니다. 그것에 대해 약간의 독서를하십시오.

무엇이 잘못되었는지 이해하는 데 도움이되도록 여기에 약간의 설명이 나와 있습니다.

먼저 "\"는 Windows 전용 파일 경로 세그먼트 구분 기호입니다. 브라우저와 유닉스 기반의 모든 것은 "/"를 사용하여 경로의 세그먼트를 구분합니다. 둘째, 경로 문자열에서 마지막 큰 따옴표를 이스케이프 처리합니다. 문자열이 작은 따옴표로 묶여 있기 때문에 이는 불필요하며 분리됩니다. 올바른 명령은 다음과 같습니다

document.write("<img src=\"images/orna.jpg\">"); 
관련 문제