javascript - 创建的表单显示为 [object HTMLFormElement]
问题描述
我正在使用模板文字创建一系列列表项,并在每个项目中构造组件。目前,我HTML
将列表项的内部设置为将创建一个简单表单组件的表达式。但是,我没有看到该表单,而是[object HTMLFormElement]
显示了该表单。
我的代码:
let editListItem = document.createElement('li');
let editListForm = document.createElement('form');
function editlistItemTemp(name) {
editListItem.classList.add('list-item-edit-view');
editListItem.innerHTML = `
${editListFormTemp(name)}`;
return editListItem;
}
function editListFormTemp(value) {
editListForm.classList.add('edit-list-form');
editListForm.innerHTML = `
<input class='list-edit-input' type='text' value='${value}' placeholder='List Name' required />`;
return editListForm;
}
我知道这HTMLFormElement
是包含表单的集合,但我不知道为什么它会以这种方式显示在这里。我已经在控制台记录了该功能editListFormTemp()
,并且似乎没有什么不合适的,因为我得到了我正在寻找的 HTML 元素。
解决方案
您需要使用innerHtml
返回HTML
:
editListItem.innerHTML = editListFormTemp(name).innerHTML;
你也可以使用append
:editListItem.append(editListFormTemp(name))
这是工作示例:
let editListItem = document.createElement('li');
let editListForm = document.createElement('form');
editlistItemTemp("text");
function editlistItemTemp(name) {
editListItem.classList.add('list-item-edit-view');
editListItem.innerHTML = editListFormTemp(name).innerHTML;
document.body.append(editListItem)
return editListItem;
}
function editListFormTemp(value) {
editListForm.classList.add('edit-list-form');
editListForm.innerHTML = `<input class='list-edit-input' type='text' value='${value}' placeholder='List Name' required />`;
return editListForm;
}
推荐阅读
- tsql - 您如何创建登录名和用户,但前提是它不存在?
- sqlsrv - “sqlsrv_query”静态游标类型很慢
- python - matplotlib.plot() 中的内存泄漏
- vaadin - Vaadin 14 网格提出第二个请求
- angular - div[id]=function 不能调用相应的打字稿函数?
- mongodb - Mongo - Return scalar when select result contains only one field
- java - 在 DigitalPersona U.are.U SDK 中调用 Reader.Capture() 不返回
- prestashop - 在 cart-summary-totals.tpl 中包含模块的 tpl 文件
- android - 如果之前被拒绝许可,如何通过 USB 调试启用 apk 安装?
- docker - docker 镜像可以像 rpm noarch 一样跨平台吗?