使用jQuery插入HTML页面的第一个项目缺少结束标记
Missing closing tag from first item inserted into HTML page with jQuery
我的列表组中的第一个项具有'<a> '在插入页面时被删除,我的问题是为什么以及如何解决这个问题?如果我对插入前后生成的html进行控制台操作,那么就会出现丢失的标记。
这是生成器代码:
function ObjMatched(item1, item2) {
this.item1 = item1;
this.item2 = item2;
}
var obj_list = '<div class="list-group>';
for (var i = 0; i < Obj.length;i++) {
if (Obj[i].item1 == selection) {
ObjMatched.item1 = Obj[i].item1;
ObjMatched.item2 = Obj[i].item2;
obj_list += '<a href="#" class="list-group-item" data-item1="' + ObjMatched.item1 + '" data-item2="' + ObjMatched.item2 + '" >' + ObjMatched.item1 + ', ' + ObjMatched.item2 + '</a>';
}
}
obj_list += '</div>';
$("#obj_block").append(obj_list);
这是HTML输出:
<div id="obj_block">
<div class="list_group">
<a href="#" class="list-group-item" data-item1="mary" data-item2="smith">mary, smith
<a href="#" class="list-group-item" data-item1="tom" data-item2="jones">tom, jones</a>
<a href="#" class="list-group-item" data-item1="dirty" data-item2="harry">dirty, harry</a>
</div>
</div>
因此,第一个项目不会作为列表的一部分出现在web浏览器中,并且不可点击。我试过用html()替换append(),但没有成功。我已经在Chrome、Safari和Firefox中测试过了,结果都是一样的。我做错了什么?
您没有在第一个div上结束引号:
var obj_list = '<div class="list-group>';
更改为:
var obj_list = '<div class="list-group">';
它会起作用的。之所以会发生这种情况,是因为第一个撇号关闭了这个div并使锚标记无效。
相关文章:
- 正在将数据主题添加到所有项目
- 为什么“;未定义的“;在JavaScript中结束循环
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 如何检查管道中未定义的项目
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- 学生搜索项目jquery/javascript
- 如何获取不属于我项目的上一页的URL
- 循环结束/推送到数组之前在页面上呈现EJS
- Dojo:访问dijit.form.Select中单击的项目
- 角度的项目列表 ng 重复,ng 单击显示全宽描述
- 在另一个函数成功结束后调用该函数
- 我需要为我的朋友在这个项目上提供帮助
- 如何从 HTML 查询中删除项目
- 在Meteor项目中安装并包含npm模块后出错
- 当在Ember中点击一个项目时,我如何将一个活动类添加到项目列表中
- 将单击事件添加到附加的项目中
- 在动画结束之前调用函数
- 使用jQuery插入HTML页面的第一个项目缺少结束标记
- react.js每n个项目添加一个开始标签或结束标签
- 自定义jCarousel触发器-项目结束