retVal.push($("<option>", { value: "thing1", text: "thing2" }));
我知道它返回一个JQuery<HTMLElement>
对象,但是我不确定这样做的优雅方式,该方式不涉及字符串连接。
作为参考,我正在迭代KeyValuePairs的一个对象,并动态地为select html元素构建选项的集合。
编辑:完整的当前代码
ctl.append(ConvertStatusToDropdownItems());
...
var StatusEnum = { "thing1": 0, "thing2": 1, etc. };
function ConvertStatusToDropdownItems() {
var retVal = [];
for (const [key, value] of Object.entries(StatusEnum)) {
retVal.push($("<option>", { value: value, text: key }));
}
return retVal;
}
关于它的价值,从技术上来说,我位于.Net Core 2.1站点中的Typescript文件中,并且似乎无法获取要加载的JQuery的定义。进一步考虑,鉴于此功能的全局性,这样做可能不是一个好主意。
答案 0 :(得分:1)
使用JavaScript,我们可以创建一个辅助函数,以帮助我们复制JQuery方法的功能。
let create = (tag, opts = {}) => {
return Object.assign(document.createElement(tag), opts);
}
let create = (tag, opts = {}) => {
return Object.assign(document.createElement(tag), opts);
}
console.log(
create("option", { value: "thing1", textContent: "thing2"})
);
注意,在普通DOM节点上没有text
属性,只有textContent
。