首页 > 解决方案 > 将 bgcolor 属性添加到交替表

问题描述

我正在编辑一个电子邮件模板,该模板每周编译一次,其中包含不可预测的文章数量。它的设置使得每个附加的时事通讯文章都会自动生成一个新表来包含它。

使用 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>

标签: javascriptjqueryhtml

解决方案


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

我将以 FierFox 为例。

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

如果您右键单击并使用 Inspect Element,FireFox 将打开它的开发工具并显示当前呈现的标记。这就是您希望能够为电子邮件提供副本的内容。

为此,请执行以下步骤:

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

FireFox 检查元素演示

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

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

希望有帮助。


推荐阅读