为所选元素创建父div

时间:2012-07-22 14:17:44

标签: javascript

我想在点击的元素周围创建一个div而不影响页面的样式,我需要在一些操作后删除插入的父元素。有人有任何想法这样做吗?

编辑:请注意,我不想使用任何JavaScript库

2 个答案:

答案 0 :(得分:5)

我不能保证它不会影响样式,但对于其余部分,请尝试这样的事情(在点击处理函数内):

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);

答案 1 :(得分:2)

jQuery有一个wrap()函数可以执行您想要的操作。保证一般不会改变样式,但是如果你控制页面和/或css它不应该是一个问题。