javascript - 检查 DOM 中是否存在元素,如果不存在,则插入它

标签 javascript jquery json

假设我有以下 html:

<div id="list">
    <span id="one">toto</span> 
    <span id="two">titi</span>
</div>

不知何故,我检索了 json 中的 ids + contents 列表,如下所示:

var retrievedList = [
{
"id" : "one",
"content" : "toto"
},
{"id" : "two",
 "content" : "titi"
},
{
"id" : "three",
"content" : "tutu"
}];

请注意,第三个元素尚未出现在 DOM 中。

我想使用 JS/JQuery 来检查检索到的列表中是否存在不在 DOM/HTML 中的元素,如果是这种情况,则将相应的跨度插入到 DOM/Html 中.

在 JQuery 中实现此目的的最佳方法是什么?

最佳答案

$.each(retrievedList, function(i, v) {
    if(!$('#' + v.id).length) {
        $('<span />').prop('id', v.id).text(v.content).appendTo('#list');
    }
});

Here's a fiddle

关于javascript - 检查 DOM 中是否存在元素,如果不存在,则插入它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12491236/

相关文章:

javascript - 当它解决了 Vue firebase 时传递 Prop

javascript - jQuery:数据()函数

javascript - 导航到页面,scrollTop() 始终有效。刷新页面,scrollTop()永远不起作用

javascript - Jquery 滑动菜单切换

python - 尝试使用 urllib3 和 json 获取烂番茄数据时出错(Python)

javascript - 如何在 React 中使用 React/Redux 表单编辑后获取值

javascript - 将字符串正则表达式转换为带有标签 i 的正则表达式

javascript - 在 Javascript 中替换为 $$

java - 使用 Java 将多行 JSON 转换为 XML

ruby-on-rails - Rails 在请求的参数中将空数组转换为 nil