繁体   English   中英

JavaScript img src基于函数变量

[英]JavaScript img src based on function variable

我试图让图像的src基于sky + gatMap()+。jpg src应该是sky#.jpg,其中#是getMap()的值。 我在引用或其他方面遇到麻烦,我在这里做错了什么?

<script type="text/javascript">
    document.write("<img id='sky' src='sky+mapNum()+.jpg' alt='' />");
  </script>

这是javaxcript书中的一个案例问题。 它没有告诉我如何做到这一点。

document.write('<img id="sky" src="sky' + mapNum() + '.jpg" alt="" />');

应该这样做。 根据需要打开/关闭报价。 对文字字符串引号和字符串结尾引号使用不同的引号,或者根据需要使用\\来转义。

我还应该指出,通常不鼓励使用document.write() 考虑以其他方式操纵DOM。 此外,如果从mapNum()返回任意字符串,则可能生成无效的HTML,如果该值可能来自请求参数,甚至可能会自行打开XSS攻击。 您应该尽可能直接编辑元素的属性。

<script type="text/javascript">
  document.write("<img id='sky' src='sky"+mapNum()+".jpg' alt='' />");
</script>

<script type="text/javascript"> document.write("<img id='sky' src='sky"+mapNum()+".jpg' alt='' />"); </script>

你需要通过放置一个双重qoutation标记在+加号前打破字符串,然后在下一个加号后再次启动它。

您的变量包含在字符串中,并且被解释为HTML而不是JavaScript。 尝试这个:

<script type="text/javascript">
  document.write("<img id='sky' src='sky" + mapNum() + ".jpg' alt='' />");
</script>

在点击“”引号后它变成了一个字符串,这意味着它不会打印任何在打印时打印的值。 所以你应该记住在哪里使用“”引号。

<script type="text/javascript">
document.write("<img id='sky' src='sky'"+mapNum()+".'jpg' alt='' />");
</script>
<script type="text/javascript">
    document.write("<img id='sky' src='sky" + mapNum + ".jpg' alt='' />");
</script>

mapNum是一个不是函数的变量,所以后面没有()。 这本书很模糊。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM