我有一个html模板和im在页面加载时用jquery post获取数据。我想用foreach创建模板div并且尽可能的基本。我的意思是我想尽可能地把它弄干净。我的数据是一个对象数组。我通过以下方式获取数据:
const emailData = async () => {
var offset = 0;
var limit = 10;
const values = {offset : offset, limit: limit}
const res = await PostService.getCaseDetails(URL, values);
res.forEach((obj) => {
$('.ListLine').append(html(obj.id, obj.date, obj.from, obj.subject))
}
)
}
我的数据是:
[
{
"id": 1,
"projectName": "Project Name 1",
"date": "03.15.2021",
"from": "Name 1",
"subject": "Example folder",
"lastLegalSituation": "DURUM"
},
{
"id": 2,
"projectName": "Project Name 2",
"date": "03.15.2021",
"from": "Name 2",
"subject": "Example folder1",
"lastLegalSituation": "DURUM"
},
{
"id": 3,
"projectName": "Project Name 3",
"date": "03.15.2021",
"from": "Name 3",
"subject": "Example folder2",
"lastLegalSituation": "DURUM"
}
]
和我的模板:
<div class="ListTitle pl-3">
<div class="row">
<span class="col-lg-2 CheckColon">
<div class="ChackRadio">
<label>
<input type="checkbox">
<span class="checkmark"></span>
</label>
</div>
</span>
<span class="col-lg-2">
04.02.2020
</span>
<span class="col-lg-2">
First Name - Last Name
</span>
<span class="col-lg-3">
Example Folder
</span>
<span class="col-lg-3">
+ New Mail
</span>
</div>
</div>
<div class="Dotted">
<span></span>
<span></span>
<span></span>
</div>
<div class="DottedMenu">
<span onclick="OverlayOpen('OverlayEditIdCard')"><i class="Replay"></i>Yanıtla</span>
<span onclick="OverlayOpen('OverlayEditIdCard')"><i class="ReplayAll"></i>Tümünü yanıtla</span>
<span onclick="OverlayOpen('OverlayDeleteIdCard')"><i class="Delete"></i>Sil</span>
</div>
我想做的是:
const html = (id, date, from, subject) => {
return (
" <div id=" +
id +
' class="ListTitle pl-3">\n' +
"\n" +
' <div class="row">\n' +
' <span class="col-lg-2 CheckColon">\n' +
' <div class="ChackRadio">\n' +
" <label>\n" +
' <input type="checkbox">\n' +
' <span class="checkmark"></span>\n' +
" </label>" +
" </div>\n" +
" </span>\n" +
' <span class="col-lg-2">\n' +
date +
" </span>\n" +
' <span class="col-lg-2">\n' +
from +
" </span>\n" +
' <span class="col-lg-3">\n' +
subject +
" </span>\n" +
"\n" +
' <span class="col-lg-3">\n' +
" + Yeni Mail\n" +
" </span>\n" +
"\n" +
" </div>\n" +
" </div>\n" +
' <div class="Dotted">\n' +
" <span></span>\n" +
" <span></span>\n" +
" <span></span>\n" +
" </div>\n" +
' <div class="DottedMenu">\n' +
' <span onclick="OverlayOpen(\'OverlayEditIdCard\')"><i class="Replay"></i>Yanıtla</span>\n' +
' <span onclick="OverlayOpen(\'OverlayEditIdCard\')"><i class="ReplayAll"></i>Tümünü yanıtla</span>\n' +
' <span onclick="OverlayOpen(\'OverlayDeleteIdCard\')"><i class="Delete"></i>Sil</span>\n' +
" </div>"
);
};
任何帮助都是感激的。
您可以轻松地使用模板文字。
模板文字(模板字符串)
const html = (id, date, from, subject) => {
return `
<div id="${id}" class="ListTitle pl-3">
<div class="row">
<span class="col-lg-2 CheckColon">
<div class="ChackRadio">
<label>
<input type="checkbox">
<span class="checkmark"></span>
</label>
</div>
</span>
<span class="col-lg-2">${date}</span>
<span class="col-lg-2">${from}</span>
<span class="col-lg-3">${subject}</span>
<span class="col-lg-3">Yeni Mail</span>
</div>
</div>
<div class="Dotted">
<span></span>
<span></span>
<span></span>
</div>
<div class="DottedMenu">
<span onclick="OverlayOpen('OverlayEditIdCard')"><i class="Replay"></i>Yanıtla</span>
<span onclick="OverlayOpen('OverlayEditIdCard')"><i class="ReplayAll"></i>Tümünü yanıtla</span>
<span onclick="OverlayOpen('OverlayDeleteIdCard')"><i class="Delete"></i>Sil</span>
</div>
`;
}
问题内容: 如何在 jQuery中 创建元素? 问题答案: 您可以使用(在父级的最后一个位置添加)或(在父级的第一个位置添加): 或者,您可以使用或
问题内容: 我有2种方法可以创建using 。 要么: 要么: 除了可重用性之外,使用第二种方式的缺点是什么? 问题答案: 第一种选择使您更具灵活性: 当然会覆盖内容,而不会覆盖,但是我想这不是您的问题。 在属性名称周围加上引号会使它与较不灵活的浏览器更加兼容。
问题内容: 我正在使用jQuery CSS函数设置某些元素的样式 这可行,但是页面加载后会动态创建部分元素。这应该是 我被创建的事件困住了。有任何想法吗? 问题答案: 创建的元素没有事件(无论如何都无法通用)。你可以 将规则添加到样式表,以便将其自动应用于新创建的元素 创建元素时,链接 css() 方法: 动态创建一个新的样式表:
我知道显示输出的其他方式。但我想知道是否可以直接检索返回数组的元素。
我试图在TypeScript中创建一个格式正确的SVG元素: 但是,在中出现以下错误
利用DOM方法创建元素节点,通常要将document.createElement()、document.createTextNode()、appendChild()配合使用,十分麻烦。 而jQuery使用$就可以直接创建DOM元素 var oNewP = $("<p>使用jQuery创建的内容</p>"); 以上代码等同于javascript var oNewP2 = docume