使用Javascript document.write构建字符串

使用Javascript document.write构建字符串,javascript,string,concatenation,document.write,Javascript,String,Concatenation,Document.write,我正在尝试从javascript编写一个div元素。我希望使用document.write()按如下方式编写行: 我使用以下命令调用写入div元素的函数: <script type="text/javascript"> colorPicker("box1"); </script> 颜色选择器(“框1”); 我尝试了document.write()方法,通过几种不同的方式构建字符串,例如: function colorPicker(box) {

我正在尝试从javascript编写一个div元素。我希望使用document.write()按如下方式编写行:


我使用以下命令调用写入div元素的函数:

<script type="text/javascript">
      colorPicker("box1");
 </script>

颜色选择器(“框1”);
我尝试了document.write()方法,通过几种不同的方式构建字符串,例如:

function colorPicker(box) {
    var box = document.getElementById(box);
    var boxid = box.id;
    var AquaStr1 = '<div class="AquaSquare15px" onmouseover="changeColor("';
    var AquaStr2 = '")></div>';

    var AquaString = AquaStr1.concat(boxid, AquaStr2);
    document.writeln(AquaString);
}
函数颜色选择器(框){
var-box=document.getElementById(box);
var-boxid=box.id;

var AquaStr1='我想问题可能是引号。应该是:

var AquaStr1 = '<div class="AquaSquare15px" onmouseover="changeColor(\'';
var AquaStr2 = '\')"></div>';
改用另一个名字,比如

function colorPicker(boxid) {
    var box = document.getElementById(boxid);
尽管如此,通过id获取元素并在读取之后读取其id没有多大意义:

var box = document.getElementById(box);
var boxid = box.id;
您已将ID作为函数参数

建议结果:

function colorPicker(boxid) {
    var AquaStr1 = '<div class="AquaSquare15px" onmouseover="changeColor(\'';
    var AquaStr2 = '\')"></div>';

    var AquaString = AquaStr1.concat(boxid, AquaStr2);
    document.writeln(AquaString);
}

您在属性值中使用引号,而没有使用HTML编码。此外,您缺少属性值的结束引号,因此结束标记和其他一些代码将在属性中结束

您可以避开引号:

var AquaStr1 = '<div class="AquaSquare15px" onmouseover="changeColor(&quot;';
var AquaStr2 = '&quot;)"></div>';
var AquaStr1='';
或者可以使用撇号,但需要在字符串中转义:

var AquaStr1 = '<div class="AquaSquare15px" onmouseover="changeColor(\'';
var AquaStr2 = '\')"></div>';
var AquaStr1='';

正如评论部分所指出的:你不应该使用
文档。写
。
但是,字符串连接出错。请尝试以下操作:

function colorPicker(box) {
    var boxid = document.getElementById(box).id;
    var aquaStr = '<div class="AquaSquare15px" onmouseover="changeColor(\''+boxid+'\')"></div>';

    document.writeln(aquaStr);
}
函数颜色选择器(框){
var-boxid=document.getElementById(box.id);
var aquaStr='';
书面文件(aquaStr);
}

不要使用
文档。编写
:这将在代码中以
onmouseover='changeColor(“+boxid+”)
结束,而不使用变量
boxid
$('body').append(AquaString);
var AquaStr1 = '<div class="AquaSquare15px" onmouseover="changeColor(&quot;';
var AquaStr2 = '&quot;)"></div>';
var AquaStr1 = '<div class="AquaSquare15px" onmouseover="changeColor(\'';
var AquaStr2 = '\')"></div>';
function colorPicker(box) {
    var boxid = document.getElementById(box).id;
    var aquaStr = '<div class="AquaSquare15px" onmouseover="changeColor(\''+boxid+'\')"></div>';

    document.writeln(aquaStr);
}