2

是否可以获得元素的原始 HTML,或者是否可以获得没有“样式”属性的 HTML?考虑以下示例,

<div class="outer">
   <div class="inner">
       some text
   </div>
</div>

现在,我将一些动画/CSS 应用到“内部”元素。

​$('.inner').animate({
    'margin': '-10px'
});​​

当我使用 获取“外部”元素的 HTML 时console.log($('.outer').html());,我得到以下内容

<div class="inner" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">
       some text
   </div>

但是,我实际上只需要这个

<div class="inner">
       some text
   </div>

获得该输出的最简单方法是什么?在应用 animate() 或 css() 之前,我不需要创建元素的备份。

谢谢你。

4

1 回答 1

4

如果您想完全删除样式属性(并且不希望它恢复),请使用以下代码:

/* Working code */ 
$(".outer").find(".inner").removeAttr('style').end().html();

/* Explanation of working code */
$(".outer")                     // Get the outer element
           .find(".inner")      // Find the inner div
           .removeAttr('style') // Remove the attribute from the inner div
           .end()               // Return to the outer div
           .html();             // Get outer div's HTML

这是一个工作小提琴

jQuery 文档:

于 2012-04-20T18:56:57.507 回答