我正在通过Cengage (MindTap)编写交互式/后续程序中的第一段代码。该程序指示我“为内联元素编写HTML代码,以显示要在网页中使用的天空图像”。我应该创建一个名为imgStr的变量,该变量存储以下文本字符串:
<img src='sd_skyMap.png' />
其中Map是mapNum变量的值(有23个文件名为sd_sky0、sd_sky1、sd_sky3等第四位)。它说要使用+运算符将文本字符串组合在一起,并在文本字符串中包含单引号字符。
我不能让天空图像出现在网页上,以挽救我的生命。
我试过通过我的大学提供的家教,但仍然没有运气,使形象显示。
var imgStr = "<img src='sd_sky0 + sd_sky1 + sd_sky2 + sd_sky3 +
sd_sky4 + sd_sky5 + sd_sky6 + sd_sky7 + sd_sky8 + sd_sky9 +
sd_sky10 + sd_sky11 + sd_sky12 + sd_sky13 + sd_sky14 + sd_sky15
+ sd_sky16 + sd_sky17 + sd_sky18 + sd_sky19 + sd_sky20 +
sd_sky21 + sd_sky22 + sd_sky23' + mapNum + '.png' />";
document.getElementById("planisphere").insertAdjacentHTML() = imgStr;
将代码插入jshint.com后,它声明了一个警告和一个未使用的变量。
(任务不佳)
document.getElementById("planisphere").insertAdjacentHTML() = imgStr;
mapNum是一个未使用的变量。
发布于 2019-05-16 18:17:10
InsertAdjacentHTML以两个字符串作为参数。
第一个参数是position
,它接受四个静态值之一。
第二个参数是要插入的HTML字符串。
你想要的一个例子可以是:
document.getElementById("planisphere").insertAdjacentHTML('afterbegin', imgStr);
发布于 2019-05-16 18:21:24
在您的代码中有两个问题,第一个问题是您需要在不同的图像文件中运行并分别添加每个文件。在您提供的代码中,所有图像的名称都合并为一个。
第二个问题是insertAdjacentHTML()
函数的使用。该函数期望将新标记的位置和标记本身作为参数,没有传递任何参数。检查这里需要更好的解释。
假设您有n个要添加为n个标记的图像,您可以尝试如下所示:
// variable to hold the total number of images used
var numberOfImages = 23;
// we loop trough all images, where i will count from 0 to numberOfImages
for (var i = 0; i < numberOfImages; i++) {
// on each step of the loop we add a new img tag with sd_skyi as source
document.getElementById("planisphere")
.insertAdjacentHTML('afterend', "<img src='sd_sky" + i + ".png' />")
}
如果你按原样使用这个加法,它将把23个img标签添加到一个有id天球的元素中。
发布于 2019-05-16 18:22:37
您就快到了,只需使用beforeend
添加document.insertAdjacentHTML()
const imgStr = `<img src='sd_sky0 + sd_sky1 + sd_sky2 + sd_sky3 +
sd_sky4 + sd_sky5 + sd_sky6 + sd_sky7 + sd_sky8 + sd_sky9 +
sd_sky10 + sd_sky11 + sd_sky12 + sd_sky13 + sd_sky14 + sd_sky15
+ sd_sky16 + sd_sky17 + sd_sky18 + sd_sky19 + sd_sky20 +
sd_sky21 + sd_sky22 + sd_sky23' + mapNum + '.png' />`;
document.getElementById("planisphere").insertAdjacentHTML('beforeend', imgStr);
<div id = "planisphere">
</div>
https://stackoverflow.com/questions/56174348
复制相似问题