0

これが非常に単純な質問であることはわかっていますが、偶数が発生するたびに、段落内のこのテキストの一部を変数に置き換える必要があります。

マークアップはこんな感じ

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style>
#container {width:100%; text-align:center; }
#heading {width:100%; text-align:center; }
</style>
</head>

<div id="heading">
<h1>hello</h1> 
</div> 
<body>
<div id="container">
<textarea name="mytextarea" cols="60" rows="40"></textarea>
</div>
</body>
</html>

私が必要とするのは、タグで「こんにちは」と書かれている場所です。それは、生成する文字列に置き換えられる変数になることです。

4

2 に答える 2

1

このような関数を作成できます。

function replaceTitle (replaceText) {
    document.getElementById("heading").getElementsByTagName("h1")[0].innerHTML = replaceText;
}

jQueryを使用している場合は、次のようになります。

function replaceTitle (replaceText) {
    $("#heading h1").html(replaceText);
}

次に、このように関数を呼び出します

replaceText(yourVariable);

直接参照できるように、タグに id またはクラスを指定する方がおそらく良いでしょうが<h1>、そうしないのには十分な理由があると思います。

于 2012-07-19T11:03:29.313 に答える
0

シンプルなものを複雑にする方法の一例:)

JavaScript:

// simple way:
function replace_text(text) {
    var heading = document.getElementById('heading');
    heading.innerHTML = '<h1>' + text + '</h1>';
}

// complicated way:
function replace_text2(text) {
    var heading = document.getElementById('heading');
    var node = heading.childNodes[0];
    while ( node && node.nodeType!=1 && node.tagName!='H1' ){
        //console.log(node.nodeType,node);
        node = node.nextSibling;
    }
    if (node) {
        node.replaceChild(document.createTextNode(text),node.childNodes[0]);
    }
}

html:

<input type="button" onclick="replace_text('HELLO 1!');" value="Replace 1st text" />
<input type="button" onclick="replace_text2('HELLO 2!');" value="Replace 2nd text" />

スクリプトはこちらです。

于 2012-07-19T12:15:01.560 に答える