-1

これはおそらく非常に簡単/明白です。Chrome拡張機能を書いています。私の Javascript は、任意のサイトからテキスト ノードをキャッチし、テキストの一部を別のものに変更します。色を変更して (タグを追加して) 変更されたテキストをマークしたいと思います。

return "<font color = \"FF0000\">"+a+"</font>"

そして結果:

<font color = "FF0000">SomeText</font>

もちろん、私が望むのは、SomeTextが赤で表示されることだけです。

4

3 に答える 3

1
function newText(tag, text, style) {
    var element = document.createElement(tag);              //this creates an empty node of the type specified
    element.appendChild(document.createTextNode(text));     //this creates a new text node and inserts it into our empty node
    if (style) element.setAttribute('style', style);        //this sets the style in inline CSS (warning, this needs different syntax in IE)
    return element;                                         //this returns a DOM object
}

これによりDOMオブジェクトが返されるため、別のノードに追加する必要があります。

var myText = newText('p', 'This is some text!', 'color: red;');
document.getElementById('myTextBox').appendChild(myText);
于 2012-10-26T21:46:27.907 に答える
1

Chrome 拡張機能で CSS を使用することをお勧めします。したがって、私の解決策には、DOM要素(インスタンスの場合はおそらく段落またはスパン)にクラスを与えることが含まれます。HTML マークアップにスタイル属性を入れるのは、良い習慣ではありません。

<p class="red">SomeText</p>

そしてあなたのCSSファイルで

.red {
    color: #ff0000 /* I actually love this color */
}

では、これはどのように JavaScript を使用するのでしょうか?

スタイルを HTML タグに直接追加する代わりに、要素にクラスを追加できます。

document.getElementByTagName("p").className = "red";

または、特定の ID をターゲットにしたい場合

document.getElementById("object").className = "red";

そして、そのテキストは赤になります。また、DOM 内の任意のオブジェクトの任意のクラス属性に red クラスを追加できるため、どこにでもスタイルをスローするよりもコードがきれいに見えます。

これがお役に立てば幸いです。そうでない場合はお知らせください。

于 2012-10-26T21:19:21.167 に答える
0

スタイルシートに色を追加する必要があります...のように<input type="text" style="color:red" value="sometext"/>

于 2012-10-26T21:03:13.267 に答える