将bgcolor属性添加到交替表

时间:2018-12-20 16:53:31

标签: javascript jquery html

我正在编辑一个电子邮件模板,该模板每周都会编译,其中的文章数量无法预测。进行了设置,以便每一封其他时事通讯文章都会自动生成一个包含该表的新表。

使用css,我可以将其他所有表作为目标,从而使背景看起来交替出现

body > center > table.cwrapper:nth-child(odd) {background-color: #f2f2f2;}

我的问题是Microsoft Outlook如何处理它。它不接受这种形式的CSS。其他电子邮件客户端运行正常。

有没有办法编写一个简短的脚本,将BGCOLOR属性注入到每个其他表中,从而摆脱我对那一行CSS的需要?

<table width="800" border="0" cellpadding="10" cellspacing="10" class="cwrapper">
    <tr>
        <td id="dnn_ctr392_ContentPane" align="left" class="DNNAlignleft">  
            <%=oRs("ArticleText")%>
        </td>
    </tr>
</table>

1 个答案:

答案 0 :(得分:0)

我建议的答案不是更改代码,而是更改用于提取代码的方法。这是浏览器中的“查看源代码”和“检查元素”之间的区别。

我将以FierFox为例。

右键单击并选择查看源代码,您将看到浏览器下载的原始源代码。这将包括通过客户端脚本(例如JavaScript)进行的更改。

如果右键单击并使用Inspect Element,FireFox将打开其开发工具并显示当前渲染的标记。这就是您希望能够提供给电子邮件的副本的地方。

为此,请执行以下步骤:

  • 右键单击网页上的元素,然后选择“检查元素”。
  • 在HTML窗格中,向上滚动并找到<HTML>标签。
  • 右键单击<HTML>,然后选择“复制”>“外部HTML”
  • 导航到您的电子邮件正文和粘贴

FireFox Inspect Element Demo

您将获得HTML的完整副本,包括JavaScript所做的所有更改。

正如您提到的,Outlook将不喜欢CSS。因此,当您调整脚本时,请使用jQuery的.css()功能。这会将style属性添加到元素,这就是Outlook所需要的。

希望有帮助。