使用document.write()用类编写<div>

时间:2015-08-19 13:11:13

标签: javascript html

我正在尝试使用脚本中的document.write()编写div。我似乎能够写一个空白的div但是每当我向div添加一个类或任何属性时它就不再写任何东西了。

这是我试图运行的代码。

document.write("<div class="new_prod_box">");
document.write("<a href="details.html">");
document.write(x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue);
document.write("</a>");
document.write("<div class="new_prod_bg">");
document.write("<a href="details.html"><img src="images/thumb1.gif" alt="" title="" class="thumb" border="0" /></a>");
document.write("</div>");
document.write("</div>");

我没有加载xml的问题,因为我已经测试了这个,并且我已经在我希望它被编写的部分中运行了一个脚本,并且它在该区域写入就好了。我也测试使用一个正常的div工作正常,这似乎是一个问题,当一个类分配给该div。

我已经运行了这段代码,看看document.write()编写div标签是否有问题,但是它没有任何格式。

document.write("<div>");
document.write(x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue);
document.write("</div>");

我只是在主要部分编写一个div,然后将所有内容写入,但我需要为xml中的每个条目创建一个div,这是我能想到的唯一方法。

这是我需要为每个产品提供的div的基本概要

<div class="new_prod_box">
    <a href="details.html">product name</a>
    <div class="new_prod_bg"
    <a href="details.html"><img src="images/thumb1.gif" alt="" title="" class="thumb" border="0" /></a>
    </div>           
</div>

非常感谢任何帮助。

4 个答案:

答案 0 :(得分:2)

这是因为你的字符串包含双引号。您需要使用单引号,或转义双引号。这是无效的:

document.write("<div class="new_prod_box">");

这些是:

document.write('<div class="new_prod_box">');
document.write("<div class=\"new_prod_box\">");

答案 1 :(得分:0)

试试这个:

document.write('<div class="new_prod_box">\
  <a href="details.html">' + x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue + '</a>\
  <div class="new_prod_bg">\
      <a href="details.html"><img src="images/thumb1.gif" alt="" title="" class="thumb" border="0" /></a>\
  </div>\
</div>');

答案 2 :(得分:0)

尝试使用单引号并只写一次:

var myhtml = "<div class='new_prod_box'>";
myhtml += "<a href='details.html'>");
myhtml += x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue;
myhtml += "</a>";
myhtml += "<div class='new_prod_bg'>";
myhtml += "<a href='details.html'><img src='images/thumb1.gif' alt='' title='' class='thumb' border='0' /></a>";
myhtml += "</div>";
myhtml += "</div>";
document.write(myhtml);

答案 3 :(得分:-1)

您在代码中弄乱了"。例如。第一行
document.write("<div class="new_prod_box">");
被替换为 document.write("<div class='new_prod_box'>");

同样在你的HTML中有div start <div class="new_prod_bg"但它永远不会结束(缺少关闭>