javascript - 我可以将 HTML 元素合并到对象吗?
问题描述
我希望能够获取 HTML 元素的所有属性并将它们附加到一个对象,以便该对象可以像 HTML 元素一样工作。
var clone = {};
function maker(obj){
var e = document.createElement("div");
e.innerHTML = "hello world";
for(var key in e){
obj[key] = e[key];
}
}
maker(clone);
clone = <div>hello world</div>
这在很小程度上起作用。clone
将收到元素的一些属性,但我需要能够进行深度迭代,并且我需要处理循环引用才能获得所有内容。我还想知道我正在尝试做的事情是否还有其他问题?
另外,是的,我意识到我可以轻松做到:
function maker(){
var e = document.createElement("div");
e.innerHTML = "hello world";
return e;
}
var clone = maker();
clone = <div>hello world</div
另一个几乎按照我想要的方式工作的选项:
var clone = {};
function maker(obj){
var e = document.createElement("div");
e.innerHTML = "hello world";
obj.e = e.cloneNode(true);
}
maker(clone);
clone.e = <div>hello world</div>
但最佳解决方案是能够编写maker(clone)
并拥有clone = <div>hello world</div>
解决方案
用于element.cloneNode(true)
深度克隆 HTML 元素。
function maker(){
var e = document.createElement("div");
e.innerHTML = "hello world";
return e.cloneNode(true);
}
推荐阅读
- freeradius - Freeradius 3没有将会计记录保存到Mysql
- http - 在 jodd-http(6.0.2) 中设置代理后,connectionTimeout 似乎不起作用
- html - 为什么我的按钮有多余的行高?
- python - 如何让我的机器人重复我的消息并删除命令
- json - Jolt Transformation 在数组的每个元素中移动一个属性
- json - 清理 JSON 文件
- r - 使用 R 抓取下拉菜单内容
- multithreading - fortran 和 OpenMP 并行化:仅使用 1 个线程
- multithreading - OpenMP 的哪个线程做的工作最多?
- ms-access - Countif in access - 查找重复项并将其编入索引