JavaScript:动态创建的类似 html 的字符串不会转换为 html

标签 javascript jquery dynamic innerhtml createelement

在 DOM 中我已经有一个包装器

<div id="wrapper"></div>

我需要用一堆 div 填充,其中每个 div 代表新的类别。 然后,每个类别将填充代表该类别的项目的各种卡片。像这样:

<div id="wrapper">
  <div data-category="puppy">
    Dynamically created category wrapper
    <div class="puppy1">...</div>
    <div class="puppy2">...</div>
  </div>
  <div data-category="cat">
    ...
  </div>
</div>

我使用以下代码来创建和填充类别,但我总是最终要么有空类别,要么在内部有一个字符串来代表 html。

var categoryWrapper = document.createElement("div");
categoryWrapper.setAttribute("data-category", key);
categoryWrapper.innerHtml = htmlString;

这是我的问题的 fiddle 演示。 https://jsfiddle.net/uuqj4ad5/

如果您有帮助,我将不胜感激。

最佳答案

有一个拼写错误,innerHml 应该是 innerHTML ( Javascript object properties are case sensitive ) 否则它只是添加一个额外的属性并且什么也不会发生。

categoryWrapper.innerHTML = htmlString;

var htmlString = "<div class='card'><div class='cardImg'><img src='http://cdn.cutestpaw.com/wp-content/uploads/2012/07/l-Wittle-puppy-yawning.jpg' alt='Puppy'></div><div class='cardContent'><div class='cardInfo'><p>Puppy Yawning</p></div><div class='cardDesc'><p>Awww!</p></div></div></div>";

var outerWrapper = $("#wrapper");
var categoryWrapper = document.createElement("div");
categoryWrapper.innerHTML = htmlString;
outerWrapper.append(categoryWrapper);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <h3>
    Under this title various categories should be dynamically created
  </h3>
  <div id="wrapper">outerWrapper waiting for dynamic data...</div>
</div>


仅供引用:如果您想删除现有内容,请使用 html()方法而不是 append()方法。

关于JavaScript:动态创建的类似 html 的字符串不会转换为 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41859266/

相关文章:

javascript - 如何以编程方式修改 PDF 文件中的 JavaScript 事件?

javascript - 如何使用jquery隐藏表格元素并隐藏bootstrap类

jquery - 使用 colorbox jquery 插件加载部分(外部)html 页面

C++ 二维动态数组崩溃

javascript - 一个数组还是多个? (哈希表)

javascript - 如何使用 AngularJS 范围将 onClick 事件附加到元素表?

javascript - 将 div 保存为 PDF 时未定义 jsPDF

javascript - jQuery 字符串比较在 IE7 中的行为有所不同

php - 在具有多个对象的字符串上使用 eval

php - 如何选择 jQuery 动态生成的 ID?