8

我正在尝试通过以下方式构建 HTML 字符串:

htmlString = '<html>';
var headerString = "image1";
var sImage = "Android_images/"+headerString+".png";
htmlString += '<img src='+sImage+' />';
htmlString = '</html>';

我需要动态附加一个图像字符串,但它显示:

<img src=Android_images/dfdfd.png />
4

6 回答 6

8

您正在最后一行重新设置变量:

htmlString = '</html>';

添加一个+,它会工作:

var htmlString = '<html>';
var headerString = "image1";
var sImage = "Android_images/" + headerString + ".png";
htmlString += '<img src="' + sImage + '" />';
htmlString += '</html>';

另外,为什么这里有<html>标签?

于 2013-04-30T06:00:38.410 回答
2

尝试:

var htmlString = '<html>';
var headerString = "image1";
var sImage = "Android_images/"+headerString+".png";
htmlString += '<img src="'+sImage+'" />';
htmlString += '</html>';
于 2013-04-30T06:00:55.260 回答
0
var htmlString = '<html>';

htmlString += '</hmtl>';
于 2013-04-30T05:57:17.270 回答
0

在开始使用之前,您尚未将 htmlString 定义为变量:

var htmlString = '<html>';
于 2013-04-30T05:58:45.043 回答
0

你应该总是使用var.

不使用 var 有两个主要缺点:

  • 访问未在该函数中定义的函数中的变量将导致解释器查找具有该名称的变量的作用域链,直到找到一个变量或它到达它所在的全局对象(在浏览器中可通过窗口访问)将创建一个属性。这个全局属性现在随处可用,可能会导致混淆和难以检测的错误;
  • 在 ECMAScript 5 严格模式下访问未声明的变量将导致错误。

在这里和最后一行完美工作,您应该使用+=

htmlString += '</html>';
于 2013-04-30T06:00:15.563 回答
0

使用下面的代码

var htmlString = '<html>';
var headerString = "image1";
var sImage = "Android_images/"+headerString+".png";
htmlString += '<img src="'+sImage+'" />';
htmlString += '</html>';

“htmlString”将包含以下输出

<html><img src="Android_images/image1.png" /></html>

认为它会帮助你。

于 2013-04-30T06:08:46.257 回答