2017-01-09 4 views
-4

警告: 私は誰もこれを行うことをお勧めしません。それは醜いハックだ。CSSでコンテンツを変更する方法は?

私は(例えば最小化)コード

<div id="somecontent"> 
    <a name="content"></a> 
    Content to be changed 
</div> 

JSFiddle持っている:私はCSSで "変更されるコンテンツを" 変更したいhttps://jsfiddle.net/zalun/o733uyvs/

を。 これも可能ですか(醜いハックはすべて含まれています)? 上記のフィドルの2番目のブロックと同じように、HTMLが変更された場合(<スパン>追加)は簡単です。

+0

あなたの問題はどこですか? – Troyer

+0

このような操作のためにJSをビルドしてみませんか? –

+0

@SamKoolすでにJS重いページにこのような要素がたくさんあるので。 – zalun

答えて

2

注:していることはお勧めしません。あなたがソースHTMLにアクセスできないと思うので あなたにコンテンツを動的に生成する を提供しています。 ソースファイルを変更するか、またはJavaScriptを使用してDOMノードを変更することをお勧めします。

私はいいえ、はいと言います。

なぜいいえ?

これはテキストノードです。 CSSを使用してDOMノードを操作することはできません。それにはJavaScriptを使用する必要があります。

なぜですか? (醜いハックを使用して)、どのように?

:あなたはすでに使用されていますが、DOMを変更することはできませんので、あなたが

Demo

#somecontent { 
    color: transparent; 
    position: relative; 
} 

#somecontent a:before { 
    content: "My new content"; 
    color: #000; 
    position: absolute; 
} 

JavaScriptのソリューションのような、それはスーパー醜い作ることができるようcontentプロパティを使用して

Demo

// You'll see text flicker 
var t = document.getElementById('somecontent'); 
t.textContent = 'New Text'; 
+0

ニース!私は物を隠すために色を変えることを考えていませんでした。 確かにCSSを使ったコンテンツの変更は問題を抱えていますが、この特定の実行では問題はありません。 – zalun

関連する問題