关于html:使用javascript进行字符串连接

string concatenation using javascript

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

1
2
3
4
5
htmlString = '<html>';
var headerString ="image1";
var sImage ="Android_images/"+headerString+".png";
htmlString += '<img src='+sImage+' />';
htmlString = '</html>';

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

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


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

1
htmlString = '</html>';

添加+,它将起作用:

1
2
3
4
5
var htmlString = '<html>';
var headerString ="image1";
var sImage ="Android_images/" + headerString +".png";
htmlString += '<img src="' + sImage + '" />';
htmlString += '</html>';

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


使用下面的代码

1
2
3
4
5
var htmlString = '<html>';
var headerString ="image1";
var sImage ="Android_images/"+headerString+".png";
htmlString += '<img src="'+sImage+'" />';
htmlString += '</html>';

"htmlString"将包含以下输出

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

认为它会对你有所帮助。


尝试:

1
2
3
4
5
var htmlString = '<html>';
var headerString ="image1";
var sImage ="Android_images/"+headerString+".png";
htmlString += '<img src="'+sImage+'" />';
htmlString += '</html>';

你应该总是使用var

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

  • 访问未在其中定义的函数内的变量
    该函数将使解释器查找范围链
    对于具有该名称的变量,直到它找到一个或它到达
    全局对象(可通过浏览器通过窗口访问)
    创建一个属性。这个全球财产现在随处可用,
    可能导致混乱和难以察觉的错误;
  • 访问未声明的变量将导致ECMAScript 5出错
    严格模式。

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

1
htmlString += '</html>';

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

1
var htmlString = '<html>';

1
2
3
var htmlString = '<html>';

htmlString += '</hmtl>';