如何防止 jQuery append() 中的自动标记关闭
How to prevent auto tag closure in jQuery append()?
由于格式原因,我试图将json文件中的每三个结果嵌套在div类"行"中。
我认为这将是一件容易的事情,但每次我尝试 jQuery 时都会关闭我的标签。
正确的布局应该是
<div class="row">
<div class="four columns"></div>
<div class="four columns"></div>
<div class="four columns"></div>
</div>
这是我的代码:
var sexIcon = '';
var typeIcon = '';
var divClassRow = ' <div class="row"> ';
var divClassRowEnd = ' </div><div class="row"> ';
$(document).ready(function(){
$.getJSON("scripts/pets.json", function(jsonData){
$.each(jsonData, function(object, value){
if (value.sex=='female'){
sexIcon = 'images/female-active.png';
}
else {
sexIcon = 'images/male-active.png';
};
if (value.type=='dog'){
typeIcon = 'images/dog-sm.png';
}
else {
typeIcon = 'images/cat.png';
}
$('.columns:first-child').before(divClassRow);
$.each($('.columns:nth-child(4n)'), function(){
$(this).after(divClassRowEnd);
});
$(".cards").append(
'<div class="four columns '+ value.type +' '+ value.sex +' '+ value.size +'">'+
'<div class="card-header"><h3>'+value.name+'</h3><img src="'+typeIcon+'" alt=""><img src="'+sexIcon+'" alt=""></div>'+
'<div class="card-content">'+
'<img src="'+value.photo+'" alt="">'+
'<p><b>Breed:</b> '+value.breed+'</p>'+
'<p><b>Sex:</b> '+value.sex+'</p>'+
'<p><b>Age:</b> '+value.age+'</p>'+
'<p><b>Time at Rescue:</b> '+value.time+'</p>'+
'<p> '+value.about+'</p>'+
'<br>'+
'<button class="button-primary u-full-width">Find Out more!</button>'+
'</div></div>'
); /*END APPEND*/
});/*END EACH*/
});/*END GETJSON*/
}); /* Document Ready */
关于我能做什么的任何想法? 或者也许如何做得更好。
使用 wrapAll()
var list=$('.four');
for(var i = 0; i < list.length; i+=4) {
list.slice(i, i+4).wrapAll("<div class='row'></div>");
}
演示
相关文章:
- 防止jQuery Mobile中的ajax缓存
- 使用 jquery/ javascript 防止第一次警报
- tokeninput jquery 插件 - 防止重复项不起作用
- 如何使用易选项卡jQuery插件防止在主页中跳转/滚动命名锚点
- jquery/jscript 防止打开多个弹出窗口
- jQuery,防止在用户双击或多次点击的情况下执行点击事件
- jquery mobile防止默认不适用于phonegap应用程序
- jQuery滚动:防止锚文本出现在url中
- 使用单击事件处理程序的 JQuery.如何防止所有元素不显示一次只显示一个元素
- 使用jQuery Mobile防止提交时重置表单
- 使用jQuery sider防止元素转换
- jQuery:如何防止在多个输入字段的总和达到后插入到输入字段
- Jquery:如何防止多次运行
- jQuery功能防止添加/删除类单击
- 在jQuery中防止脚本在加载(或解析)时执行
- 如何在CSS或jQuery中防止单词和标点之间的换行?
- jquery.bind防止在页面加载时运行
- jQuery关于防止子列表上单击事件的问题
- jQuery验证-防止下拉框中出现一个单词
- 如何使用jquery /javascript防止touchmove事件移动背景