我试图让图像的src基于sky + gatMap()+。jpg src应该是sky#.jpg,其中#是getMap()的值。 我在引用或其他方面遇到麻烦,我在这里做错了什么?
<script type="text/javascript">
document.write("<img id='sky' src='sky+mapNum()+.jpg' alt='' />");
</script>
这是一个javaxcript书中的案例问题。它没有告诉我如何做到这一点。
答案 0 :(得分:4)
document.write('<img id="sky" src="sky' + mapNum() + '.jpg" alt="" />');
应该这样做。根据需要打开/关闭报价。对文字字符串引号和字符串结尾引号使用不同的引号,或根据需要使用\
进行转义。
我还应该指出,通常不鼓励使用document.write()
。考虑以其他方式操纵DOM。此外,如果从mapNum()
返回任意字符串,则可能生成无效的HTML,如果该值可能来自请求参数,甚至可能会自行打开XSS攻击。您应该尽可能直接编辑元素的属性。
答案 1 :(得分:3)
<script type="text/javascript">
document.write("<img id='sky' src='sky"+mapNum()+".jpg' alt='' />");
</script>
答案 2 :(得分:1)
<script type="text/javascript">
document.write("<img id='sky' src='sky"+mapNum()+".jpg' alt='' />");
</script>
你需要先在+加号之前打破字符串,然后再加上一个双加号,然后在下一个加号后重新开始。
答案 3 :(得分:0)
您的变量包含在字符串中,并且被解释为HTML而不是JavaScript。试试这个:
<script type="text/javascript">
document.write("<img id='sky' src='sky" + mapNum() + ".jpg' alt='' />");
</script>
答案 4 :(得分:0)
<script type="text/javascript">
document.write("<img id='sky' src='sky'"+mapNum()+".'jpg' alt='' />");
</script>
答案 5 :(得分:0)
<script type="text/javascript">
document.write("<img id='sky' src='sky" + mapNum + ".jpg' alt='' />");
</script>
mapNum是一个不是函数的变量,所以后面没有()。这本书很模糊。