JavaScript切换以更改文本和图像

JavaScript切换以更改文本和图像,javascript,html,Javascript,Html,我正在尝试使用switch创建一个JavaScript函数来更改中的文本。我有它的工作只是改变文本,但我也希望它包括一个图像的HTML。我需要做哪些更改才能允许它包含图像的HTML代码 <div id="languageText"> This is the standard text <img src="image1.png" height="35px" ></img> click the n

我正在尝试使用switch创建一个JavaScript函数来更改
中的文本。我有它的工作只是改变文本,但我也希望它包括一个图像的HTML。我需要做哪些更改才能允许它包含图像的HTML代码

<div id="languageText">
    This is the standard text <img src="image1.png" height="35px" ></img> click the next image <img src="image2.png" height="30px"></img></div>
</div>

这是标准文本,单击下一个图像
函数setIntroText(lang){
introText=document.getElementById('languageText');
交换机(lang){
案例“bg”:
introText=(“这是不同的文本1”“单击下一个图像1”);
打破
“胡”案:
introText=(“这是不同的文本2”“单击下一幅图像2”);
打破
案例“ie”:
introText=(“这是不同的文本3”“单击下一个图像3”);
打破
} 
document.getElementById(“languageText”).innerHTML=introText
}
这将起作用。 introText上有一个问题,您可以用引号(“”)将其覆盖。 现在,当设置switch子句上的
innerText
value时,您在一行中使用了几个双引号(“”),这在javascript语法中是不被接受的

因此,要将一个文本分配给
innerText
,您需要用
+
符号绑定这几个字符串(以双引号结束),或者用引号绑定它

所以这两种情况是可以接受的

     introText = "This is different text 1 " + '<img src="image1.png" height="35px" ></img>' + "click the next image 1" + '<img src="image2.png" height="30px"></img>';
introText=“这是不同的文本1”+“”+”单击下一个图像1“+”;
introText='这是不同的文本1单击下一个图像1';
最终代码如下

function setIntroText(lang) {
  introText = document.getElementById('languageText');

  switch(lang) {
    case 'bg':
     introText = 'This is different text 1 <img src="image1.png" height="35px" ></img> click the next image 1 <img src="image2.png" height="30px"></img>';
      break;
    case 'hu':
      introText = 'This is different text 2 <img src="image1.png" height="35px" ></img> click the next image 2 <img src="image2.png" height="30px"></img>';
      break;
    case 'ie':
      introText = 'This is different text 3 <img src="image1.png" height="35px" ></img> click the next image 3 <img src="image2.png" height="30px"></img>';
      break;
  } 
  document.getElementById("languageText").innerHTML = introText
}
函数setIntroText(lang){
introText=document.getElementById('languageText');
交换机(lang){
案例“bg”:
introText='这是不同的文本1单击下一个图像1';
打破
“胡”案:
introText='这是不同的文本2单击下一个图像2';
打破
案例“ie”:
introText='这是不同的文本3单击下一个图像3';
打破
} 
document.getElementById(“languageText”).innerHTML=introText
}

如果您不想使用JavaScript:
使用
:target
selector

您的html为false,请更正它并发布问题的完整片段。您需要在文本中包括
标记,即引号之间。由于您还在标记内使用引号,因此需要屏蔽它们或使用单引号。元素没有结束标记(
):“必须有开始标记,不能有结束标记”OP显然是初学者。因此,请解释问题以及您所做的更改以及原因。您首先设置的innerText将抛出错误,因为它不遵循javascript代码样式。在innerHTML上,您应该以文本格式放置html代码。而你的不是这样。例如,您在一行上多次使用双引号(“”),但它不起作用。1。我不是OP,2。在你的答案中添加解释,而不是在下面的回复中添加解释谢谢大家,是的,我是一个javascript初学者,可能永远都是lol。但是使用Derek编辑的代码和Andreas的评论,我能够看到我的错误,并对代码进行更改以使其正常工作。
introText = 'This is different text 1 <img src="image1.png" height="35px" ></img> click the next image 1 <img src="image2.png" height="30px"></img>';
function setIntroText(lang) {
  introText = document.getElementById('languageText');

  switch(lang) {
    case 'bg':
     introText = 'This is different text 1 <img src="image1.png" height="35px" ></img> click the next image 1 <img src="image2.png" height="30px"></img>';
      break;
    case 'hu':
      introText = 'This is different text 2 <img src="image1.png" height="35px" ></img> click the next image 2 <img src="image2.png" height="30px"></img>';
      break;
    case 'ie':
      introText = 'This is different text 3 <img src="image1.png" height="35px" ></img> click the next image 3 <img src="image2.png" height="30px"></img>';
      break;
  } 
  document.getElementById("languageText").innerHTML = introText
}