<div class='tagstore' id='tagstore'>
<div class='tagsingle' title='delete'>323</div>
<div class='tagsingle' title='delete'>525</div>
</div>
我需要添加以下内容:
<div class='tagsingle' title='delete'>some variable</div>
js
var a = 'lorem';
var obj = "<div class='tagsingle' title='delete'>" + a + "</div>";
obj.appendTo('#tagstore');
错误: obj.appendTo is not a function...
还试过:
var obj = document.createElement('div');
obj.className = 'tagsingle';
obj.appendTo('#tagstore');
错误: obj.appendTo is not a function...
有什么帮助吗?
您的主要问题是您在 vanilla JavaScript 对象上调用 JQuery 方法。
有很多方法可以完成您想要做的事情:
在 JQuery 中,有.append()
,但您必须调用.append()
新元素应该附加到的对象,而不是您要附加的对象:
var a = 'lorem';
var obj = "<div class='tagsingle' title='delete'>" + a + "</div>";
$("#tagstore").append(obj);
// Or, you can combine the creation of the string and the append:
$("#tagstore").append("<div class='tagsingle' title='delete'>" + a + "</div>");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='tagstore' id='tagstore'>
<div class='tagsingle' title='delete'>323</div>
<div class='tagsingle' title='delete'>525</div>
</div>
而且,还有.appendTo()
,但您必须在 JQuery 对象上调用它,并将 JQuery 对象作为您要附加到的对象传递,而不仅仅是一个选择器:
var a = 'lorem';
var obj = "<div class='tagsingle' title='delete'>" + a + "</div>";
$(obj).appendTo($('#tagstore'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='tagstore' id='tagstore'>
<div class='tagsingle' title='delete'>323</div>
<div class='tagsingle' title='delete'>525</div>
</div>
要插入包含一些 HTML 的字符串,在 vanilla JavaScript 中,它是.innerHTML
:
var a = "Lorem";
document.getElementById("tagstore").innerHTML += "<div class='tagsingle' title='delete'>" + a + "</div>";
<div class='tagstore' id='tagstore'>
<div class='tagsingle' title='delete'>323</div>
<div class='tagsingle' title='delete'>525</div>
</div>
但是,.innerHTML
需要建立字符串并且存在安全和性能问题。使用 DOM API,您可以创建一个新的 DOM 节点,对其进行配置,然后将.appendChild()
其添加到文档中:
var a = 'lorem';
var obj = document.createElement("div");
obj.classList.add('tagsingle');
obj.title='delete';
obj.textContent = a;
document.getElementById("tagstore").appendChild(obj);
<div class='tagstore' id='tagstore'>
<div class='tagsingle' title='delete'>323</div>
<div class='tagsingle' title='delete'>525</div>
</div>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句