3

ノードとcreateElementを使用してボタンをクリックすると、テキストを太字にする必要がありますが、方法がよくわかりません...

html (これは太字にしたいテキストです):

<p id="textalt">Dies ist ein Text in einem P-Tag</p>

JavaScript:

function fettmachen(){
var neuB = document.createElement("b");
document.getElementById("textneu").insertBefore(neuB,  document.getElementById("textneu").nextSibling);
}

仕組みがわかりません。

4

6 に答える 6

6

「ノードとcreateElementでやらなければならない」

function fettmachen(){
       // create the "b" element
    var neuB = document.createElement("b");

       // fetch the "textneu" element by ID
    var textneu = document.getElementById("textneu");

       // append the firstChild of "nextneu" to the "neuB"
    neuB.appendChild(textneu.firstChild);

       // append the "neuB" to the "nextneu"
    nextneu.appendChild(neuB);
}
于 2012-09-12T19:13:54.183 に答える
5

新しいタグを追加する代わりに、CSSを使用して、要素にクラスを追加することをお勧めします。

CSS:

.boldText{
    font-weight: bold;
}

JavaScript:

function fettmachen(){
    document.getElementById("textalt").className += ' boldText';
}
于 2012-09-12T19:14:46.183 に答える
4

<p>ボタンを押すと、タグにスタイルを付けるだけです。多分何か...

function fettmachen(){
var neuB = document.getElementById("textalt");
neuB.style.fontWeight = "bold";
}
于 2012-09-12T19:12:43.547 に答える
0

これがテキストを太字にする方法です

function fettmachen(){
 var p = document.getElementById("textneu");
 p.style.fontWeight = "bold;"
}
于 2012-09-12T19:14:47.840 に答える
0

たとえば、何らかの理由でjsを使用する必要ある場合は、特定の単語を太字にするだけでよく、ここにあるスタイルシートにアクセスできません。それ以外の場合は、ロケットが提案したものを使用してください。

ある時点で特定の単語または要素内の単語のグループのみを太字にする必要がある場合にのみ、このようなソリューションを真剣に使用してください。

function fettmachen(){
    var neuB = document.createElement("b"),
        textEl = document.getElementById("textalt"),
        text = textEl.textContent;

    neuB.textContent = text;
    textEl.textContent = "";
    textEl.appendChild(neuB);
}

ライブデモ

そして大胆にしない。

function unbold(){
    var textEl = document.getElementById("textalt"),
        boldEls = textEl.getElementsByTagName("b"),
        text = "";

    for(var i = 0; i < boldEls.length; i++){
        text+=boldEls[i].textContent;
        textEl.removeChild(boldEls[i]);
    }

    textEl.textContent = text;
}

ライブデモ2

于 2012-09-12T19:17:50.437 に答える
0

さて、次のコードを使用できます。より長く、要約することもできます - 個人的には読みやすいと思います。

function fettmachen()
{
    var pElem = document.getElementById('textAlt');
    var text = pElem.innerHTML;

    var bElem = document.createElement('b');
    bElem.innerHTML = text;

    pElem.innerHTML = '';
    pElem.appendChild(bElem);
}
于 2012-09-12T19:12:30.817 に答える