javascript - 插入 HTML 元素的节点

标签 javascript jquery html

我并不专门研究 JavaScript,所以我需要一些关于脚本实现的帮助。请原谅菜鸟级别的问题。 我将向您展示这张图片,让您大致了解我想要的内容:

enter image description here

因此,短期而言,“+”号将添加另一个成分 div,而减号将删除一个成分。我尝试了 DOM 节点,但有一小部分我被卡住了。现在这是使用 jquery 的方式;

$('#add-ingredient').on('click', function() {
    ingredient_count += 1
    var para = document.createElement("div");
    var node = document.createTextNode('<div class="col col-3-12 left"></div><div id="ingredient-'+i+'" class="col col-9-12 right"><div class="col col-2-12 input"> <input type="text" class="r-title" name="recipe-ing-qty" placeholder="quantity" /> </div> <div class="col col-3-12 input"> <select class="r-title"> <option value="empty"></option> <?php for($in=0;$in<=$ing_count;$in++){echo "<option value=".$ing[$in]['ing_id'].">".$ing[$in]['ing_name']."</option>"; } ?> <option value="other">other</option> </select> </div> <div class="col col-4-12"> <input type="text" class="r-title" name="recipe-ing-name" placeholder="ingredient" /> </div> <div id="add-ingredient" class="col col-1-12 btn btn-add"><i class="fa fa-plus"></i></div> <div id="remove-ingredient" class="col col-1-12 btn btn-add"><i class="fa fa-minus"></i></div></div>');
    para.appendChild(node);
    var element = document.getElementById("row-2");
    element.appendChild(para);
});

我想附加该 HTML 脚本,但不是以文本形式,而是以 HTML 形式。我尝试过 document.write() 但重写了整个页面。

那么我怎样才能让它插入 HTML 而不仅仅是文本呢?

最佳答案

如果您希望解释 HTML,请将其分配给 .innerHTML,不要创建文本节点。

para.innerHTML = '<div class="col col-3-12 left"></div><div id="ingredient-'+i+'" class="col col-9-12 right"><div class="col col-2-12 input"> <input type="text" class="r-title" name="recipe-ing-qty" placeholder="quantity" /> </div> <div class="col col-3-12 input"> <select class="r-title"> <option value="empty"></option> <?php for($in=0;$in<=$ing_count;$in++){echo "<option value=".$ing[$in]['ing_id'].">".$ing[$in]['ing_name']."</option>"; } ?> <option value="other">other</option> </select> </div> <div class="col col-4-12"> <input type="text" class="r-title" name="recipe-ing-name" placeholder="ingredient" /> </div> <div id="add-ingredient" class="col col-1-12 btn btn-add"><i class="fa fa-plus"></i></div> <div id="remove-ingredient" class="col col-1-12 btn btn-add"><i class="fa fa-minus"></i></div></div>';

关于javascript - 插入 HTML 元素的节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32929795/

相关文章:

javascript - Jquery 根据部分匹配从数组中删除条目

jquery - Modernizr 导致 jQuery Isotope 错误

html - 我想使用 DOM 但现在我有错误

html - 不同分辨率屏幕中间的中心菜单(CSS/HTML)

c# - 将 C# 代码插入 (.js)javascript 文件

javascript - 按列和关联记录的列序列化查询表

JavaScript 用 HTML 替换文本之间的文本

javascript - 有没有办法指定 date.js 的输入格式?

javascript - 在空间和位置方面添加特定类

javascript - 下拉菜单中的默认值 (JavaScript)