4

フォントの色を変更する必要があります。

私は次のものを持っています:

   var clr="green";

    <font color=clr>' + onlineff + ' </font>

フォントの色は緑に変わりません。これをどのように修正できるか疑問に思っています。

4

5 に答える 5

17

マークアップを次のように変更することを検討してください。

<span id="someId">onlineff</span>

次に、次のスクリプトを使用できます。

var x = document.getElementById('someId');
x.style.color = '#00FF00';

ここでそれを参照してください:http://jsfiddle.net/2ANmM/

于 2012-06-11T14:58:02.220 に答える
7

使用しないでください<font color=。これは、テキストのスタイルを設定するための非常に古風な方法であり、一部のブラウザは、もはやそれをサポートしていません。

caniuse<font>はそれを廃止としてリストし、タグを使用しないことを強くお勧めします。MDNでも同じです

この要素は使用しないでください。かつてはHTML3.2で正規化されていましたが、HTML 4.01では非推奨になり、同時にスタイリングのみに関連するすべての要素が廃止され、HTML5では廃止されました。

HTML 4以降、HTMLは(要素または各要素のスタイル属性の外で)スタイリング情報を伝達しなくなりました。新しいWeb開発の場合、スタイルはCSSのみを使用して作成する必要があります。

要素の以前の動作を実現でき、CSSフォントのCSSプロパティを使用してさらに適切に制御できます。

4.01標準がいつ公開されたかを見ると、1999年に公開されたことがわかります。

公開されたhtml5標準

ここ<font>正式に非推奨になりました。つまり、引き続きサポートされていますが、新しい標準では廃止されるため、使用しないでください。

また、2014年8月にリリースされたhtml5標準では、廃止され、準拠していないと見なされていました。

目的の効果を実現するには、スパンとcssを使用します。

function givemecolor(thecolor,thetext)
{
    return '<span style="color:'+thecolor+'">'+thetext+'</span>';
}
document.write(givemecolor('green',"Hello, I'm green"));
document.write(givemecolor('red',"Hello, I'm red"));
body {
  background: #333;
  color: #eee;
}

アップデート

この質問と回答は2012年のものであり、ドキュメントを最初にレンダリングするときに実行する必要があるため、document.writeの使用はお勧めしません。OPがそういう使い方をしたいと思っていたので、当時使っていました。ドキュメントのレンダリングやスクリプトの実行時期と場所に依存せずに、従来の方法を使用して、使用するカスタム要素を挿入したい場所に挿入することをお勧めします。

ネイティブ:

function givemecolor(thecolor,thetext)
{
    var span = document.createElement('span');
    span.style.color = thecolor;
    span.innerText = thetext;
    return span;
}
var container = document.getElementById('textholder');
container.append(givemecolor('green', "Hello I'm green"));
container.append(givemecolor('red', "Hello I'm red"));
body {
 background: #333;
 color: #eee;
}
<h1> some title </h1>
<div id="textholder">
</div>
<p> some other text </p>

jQuery

function givemecolor(thecolor, thetext)
{
    var $span = $("<span>");
    $span.css({color:thecolor});
    $span.text(thetext);
    return $span;
}
var $container = $('#textholder');
$container.append(givemecolor('green', "Hello I'm green"));
$container.append(givemecolor('red', "Hello I'm red"));
body {
 background: #333;
 color: #eee;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<h1> some title </h1>
<div id="textholder">
</div>
<p> some other text </p>

于 2012-06-11T14:56:14.973 に答える
1

このようにしてみてください:

var clr = 'green';
var html = '<font color="' + clr + '">' + onlineff + ' </font>';

そうは言っても、<font>タグの使用は避けるべきです。現在は推奨されていません。CSS を使用して、マークアップ内の特定の要素のスタイル (色) を変更します。

于 2012-06-11T14:52:23.167 に答える