如何使用JQuery从img标签中删除内联样式?

时间:2014-07-18 22:26:07

标签: javascript jquery css html5

我尝试过删除页面中<img>标记的内嵌样式。没有任何效果。

给出渲染的html:

<p><img alt="" src="../../../../images/Cuffs.jpg" style="width: 620px; height: 395px;" /></p>

如何从页面中的所有图片中删除<style>属性?我尝试了removeAttr以及各种SO帖子中的代码,但没有任何效果。

修改

我试过

<script>
    $(document).ready(function ($) {
        $('img').each(function () {
            $(this).removeAttr('style')   
        });
    });
</script>

<script>
    $(document).ready(function ($) {
        $('img').removeAttr("style")
     });
</script>

<script>
    $(document).ready(function ($) {
        $('img').attr('style', '');
    });
</script>

以及来自网络的大约3或4个其他示例。

当我查看来源时,我看到:

 <p><img alt="" src="../../../../images/Cuffs.jpg" style="width: 620px; height: 395px;" /</p>

检入Chrome

4 个答案:

答案 0 :(得分:3)

您的第一次尝试完美无缺:

&#13;
&#13;
$(document).ready(function ($) {

    $('img').each(function () {
        $(this).removeAttr('style')

    });

});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<p>
	<img alt="" src="http://lorempixel.com/32/32" style="width: 620px; height: 395px;" />
</p>
&#13;
&#13;
&#13;

答案 1 :(得分:2)

$().removeAttr('style');适用于Safari,Chrome和Firefox(全部最新)。在IE上不确定,但肯定应该。

$(function() {
   $('img').removeAttr("style");
});

请参阅此jsBin:http://jsbin.com/yokaxo/1/

答案 2 :(得分:0)

使用.removeAttr()方法(documentation)。

答案 3 :(得分:0)

在我的情况下,图片设置了“高度”和“宽度”属性,因此您可能需要执行此操作,而不是定位“样式”属性:

$('img').each(function ()
{
    $(this).removeAttr('width');
    $(this).removeAttr('height');
});

当然,您也可以删除样式属性以获得完整性,但这取决于您。

$('img').each(function ()
{
    $(this).removeAttr('width');
    $(this).removeAttr('height');
    $(this).removeAttr('style');
});

无论如何,希望它有所帮助。