2

我找不到像您可以使用 jQuery 那样解开元素的替代函数。还有另一种方法可以做到这一点吗?

我的目标是存档此代码并将其所有属性复制到它的子元素。并删除父级。

<div class="abc" myid="123" position="2">
<span class="someblock">
    <p>Some paragraph</p>
    <img width="140px; height: 140px;" class="myimg" src="http://www.urltoimage.com/image.png">
</span>
</div>

结果应该是:

<span class="someblock abc" myid="123" position="2">
<p>Some paragraph</p>
<img width="140px; height: 140px;" class="myimg" src="http://www.urltoimage.com/image.png" />
</span>

在此先感谢,克里斯。

4

2 回答 2

4

我总是使用 jQuery 发布我的 ExtJS 项目来执行此类操作,我建议您也这样做

它会让你的生活更轻松;)

编辑:

如果您严格需要在 ExtJS 中执行此操作,您将需要 aExt.dom.Element并对其进行操作。Ext.get('id')将为您提供一份。

unwrap: function() {
    parent = this.parent().dom;
    this.insertBefore(parent );

    // code for copy the styles, classes & attributes here

    parent.destroy();
    return this;
}

该方法应该在Ext.dom.Element类或任何扩展它的类上调用

于 2013-06-20T09:34:10.313 回答
0

只需使用 jQuery。这是最简单的方法,因为 ExtJS 是一个用户界面工具包,它不会让您进行如此低级的操作。所以首先考虑一下。你真的需要操作 DOM 树吗?如果是 => 也提供 jQuery。

编辑:当然你可以简单地自己实现这个特定的功能,灵感来自jQuery 代码;)

于 2013-06-20T09:36:27.760 回答