用Javascript或jQuery替换甚至更好地删除内联样式?

时间:2014-08-26 13:46:19

标签: javascript jquery css replace inline

在我发布这个问题之前,我搜索了Google(和Stackoverflow),虽然有相当多的结果,但我根本不理解大多数提供的解决方案。

我遇到的问题是我使用的脚本从我们的主网站获取RSS源。这非常有效,但它也会显示使用的内联样式,有时会使用这些样式。当然,这会扰乱事物的外观和外观,让我们说,不专业。

我检查了正在加载的内容的来源,据我所知,主要罪魁祸首是内联样式:

<span style="font-family: verdana,geneva;">text</span>

不太频繁的是以下几个(但仍然看到它们也一样):

<em>text</em>
<strong>text</strong>
<em class="moz-txt-slash">text</em>
<span class="moz-txt-tag">text</span>

这些都可以用jQuery或Javascript删除吗?显然这是可能的,但我不知道如何。我应该把所有东西放在一个单独的div容器中吗?

我可以忍受不必要的'p'​​和'br',而是看到其他的被删除。

有谁愿意帮我这个?我的感激之情!

//修改

谢谢大家的快速回复...非常感谢。

我使用名为MagicParser的脚本来获取这些RSS源。我不太了解像PHP,jQuery和Javascript这样的编码,但我会尝试使用这些解决方案。我希望它能奏效。第一个不是:/

2 个答案:

答案 0 :(得分:1)

您可以使用$("[style]")轻松定位所有内嵌样式的元素,并使用.removeAttr("style")删除样式:

$("[style]").removeAttr("style");

如果您有一个DOM节点或jQuery集合,并且想要从其后代中删除样式,只需在其上使用.find("[style]").removeAttr("style")即可。

类与内联样式不同,但您也可以删除.removeClass()的类。

答案 1 :(得分:1)

您可以使用jquery:

$("#myID").attr("style","[Nothing here, or eventually styles to override]");

更多信息: http://api.jquery.com/attr/