2

ここであなたの専門家の助けが本当に必要です!

HTMLメールを紹介するサイトを作っています。そのため、特定の div 内からすべてのスタイルを削除して、メールから HTML をコピーして貼り付ける必要があります。これにより、メールの元のデザインが維持されます。

ここにテスト ページを設定し、jQuery から removeAttr を使用してみましたが、機能していないようです。

私は HTML と CSS のコーディングには問題ありませんが、javaScript は初めてなので、本当に明確な例があれば素晴らしいと思います。

ところで、私は jQuery に夢中になっているわけではありません。仕事をするものは何でも素晴らしいでしょう!

よろしくお願いします。

ブレンダン。

JavaSript と HTML は次のとおりです。

<link rel='stylesheet' id='style-css'  href='css/style.css' type='text/css' media='all' />
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>

</head>

<body>
    <script type='text/javascript'>
        $(document).ready(function() {
    $('h1').removeAttr('style');
    });
</script>
<p>This is a paragraph tag.</p>
<h1>This is a H1 tag.</h1>
<div>
    <p>This is a p tag inside a styled div.</p>
    <table width="200" border="1">
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
    </tr>
    <tr>
        <td>4</td>
        <td>5</td>
        <td>6</td>
    </tr>
    <tr>
        <td>7</td>
        <td>8</td>
        <td>9</td>
    </tr>
</table>
</div>
</body>
</html>

ここにCSSがあります

table, th, td {
    border: 1px solid #CCCCCC;
}
table {
    margin-bottom: 1.5em;
    max-width: 100%;
    width: 100%;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
p, address {
margin-bottom: 1.5em;
font-size:19px;
}
h1{
    border-bottom: 5px solid #666666;
}
h1{
    font-family: "Oswald";
    line-height: 1.5;
    margin: 0 0 0;
    padding-bottom: 0.3em;
    text-transform: lowercase;
}
h1{
    font-size: 2em;
    line-height: 1;
    margin-bottom: 1em;
}
h1, h2, h3, h4, h5, h6 {
    clear: both;
    font-size: 100%;
    font-weight: normal;
}
div{
    background-color:#9F0;
}
4

3 に答える 3

2
jQuery(function($) {
    $("style, link[rel=stylesheet]").remove();
    $("*").removeAttr("style");
});
于 2012-11-26T20:42:13.003 に答える
0

iframeを使用して、メール内のhtmlからページを分離することをお勧めします。親ページとは異なるドメインのメールテンプレートコンテンツを提供すると、悪意のあるコンテンツがサイトに影響を与える可能性が低くなります。

このようなもの:

<!-- in http://www.company.com/templates/123 -->

<iframe src="http://www.usercontent.com/templates/123.html"></iframe>

クロスドメインバリアがないと、誰かがテンプレート内でjavascriptを実行できた場合、それを続行してユーザーのCookieを盗むことはできません。ボーナスとして、コンテンツは異なるページにあるため、異なるページ間でのCSSの混合に問題はありません。

于 2012-11-26T20:46:41.703 に答える
0

必要なのはjavascriptだと思います:

document.getElementById('your_div').style='';
document.getElementById('your_div').setAttribute("class","");
于 2012-11-26T20:42:05.943 に答える