我想在单击的元素周围创建一个 div 而不影响页面的样式,并且我需要在一些操作后删除插入的父级。有没有人有这样的想法?
编辑:请注意我不想使用任何 JavaScript 库
我想在单击的元素周围创建一个 div 而不影响页面的样式,并且我需要在一些操作后删除插入的父级。有没有人有这样的想法?
编辑:请注意我不想使用任何 JavaScript 库
我不能保证它不会影响样式,但至于其余的,尝试这样的事情(在点击处理函数内部):
var div = document.createElement("div");
var parent = this.parentNode;
parent.insertBefore(div, this);
div.appendChild(this);
如果您想删除新的 div 元素时仍在该函数中:
parent.insertBefore(this, div);
parent.removeChild(div);
如果没有,您需要重新获取它。假设您有一个触发器,并且this
仍然是单击的元素:
var div = this.parentNode;
var parent = div.parentNode;
parent.insertBefore(this, div);
parent.removeChild(div);
jQuery 有一个wrap()
功能可以做你想做的事。保证不改变样式通常是不可能的,但如果您控制页面和/或 css,这应该不是问题。