“document.write”的字体属性不起作用

时间:2012-06-30 14:52:52

标签: javascript html

我的HTML文档包含

<font face="helvetica"> (and of course </font> later)

这很有效,一切都在Helvetica 但是,有一个JavaScript部分,

if (d > 5) {
    document.write('Message');
}

由此产生的文本不是所需的字体 我尝试了将样式应用到它的方法但是它根本不显示JS部分,我怎样才能使它以HTML所在的相同字体显示?
是否有HTML标记可以使整个文档使用相同的字体?

3 个答案:

答案 0 :(得分:4)

首先,请停止使用<font>。它不再是90年代了。

动态内容不是您想要的字体的(最可能的)原因是document.write()将内容放在标记之外。看一下生成的HTML来确认这一点。 This example表示当JavaScript放在标记内时,内容的样式正确。

但是,正如Kolink的回答所示,如果要更改文档的默认字体,则应使用CSS来设置文档的<body>样式。


看看your example in the comments,看起来你正在使用jQuery - 现在应该避免使用document.write()(在任何情况下你应该避免使用它)。

document.write()替换为:

$( 'body' ).append( 'Message' );

或者,如果您想要设置邮件样式:

$( 'body' ).append( '<div class="message">Message</div>' );

并为邮件类添加CSS规则(例如.message { font-weight:bold; })。

请参阅http://jsfiddle.net/sE8DS/6/

答案 1 :(得分:2)

CSS:

body {font-family: "helvetica", sans-serif;}

完成。不需要古老的<font>标签。

答案 2 :(得分:1)

使用CSS,font标记早已弃用:

html {
    font-family: 'Helvetica';
}

document.write()也被视为不良行为。

请改用:

HTML:

<html>
    <body>
        <div id="helvetica"></div>
    </body>
</html>

CSS:

#helvetica {
    font-family: 'Helvetica'
}

使用Javascript:

var helvetica = document.getElementById("helvetica");

helvetica.innerHTML = "Message";