jquery获取剥离style属性的元素的HTML

时间:2012-04-20 18:50:42

标签: javascript jquery html css jquery-animate

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

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

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

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

当我使用console.log($('.outer').html());获取“外部”元素的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()之前,我不需要创建元素的备份。

谢谢。

1 个答案:

答案 0 :(得分: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

这是a working fiddle

jQuery文档: