0

私はJSで始めて、書き込もうとしている特定の関数で問題を抱えています。目的は、ボタンが押されたときにテキストを変更することです。「何もない」というテキストは、「こんにちは、私はねえ?」に変わるはずです。ねえと?すでにドキュメントにテキストが含まれています。

これがコードです、どんなポインタでも大歓迎です!

<html>
<head>
<title>Javascript test </title>
</head>

<body>

<p id="hey">Hey?</p>
<p id ="nothing">Nothing</p>
<INPUT type =button VALUE="Button?" OnClick=(take())>

<script>
function take(){
var hey=document.getElementById("hey");
var nothing =document.getElementById("one");

nothing.appendChild(document.createTextNode("You say hi, I say " + hey));
}
</script>
</body>
</html>

了解しました。すべてのヘルプ担当者に感謝します。特に100%正しい人はいませんでしたが、すべての提案を組み合わせて試してみたところ、行きたい場所までの道のりは約99%でした。私のコードは今このようになっています。最後に変更しようとしているのは、新しいテキスト文字列を追加するのではなく、古い文字列を現在追加されている文字列に置き換えることです。

<html>
<head>
<title>Javascript test </title>
</head>

<body>

<p id="hey">Hey?</p>
<p id ="nothing">Nothing</p>
<input type ="button" value="Button?" OnClick="take();"/>

<script>
function take(){
var hey=document.getElementById("hey");
var nothing =document.getElementById("nothing");

nothing.appendChild(document.createTextNode("You say hi, I say " + hey.innerHTML));

}

</script>
</body>
</html>

私は助けに感謝します、Stack Overflowコミュニティに感謝します!

4

4 に答える 4

2

あなたのコードにはいくつかの問題があります。

type="text/javascript"まず、 script タグで指定する必要があります。

次に、入力は次のようになります。

<input id="button" type="button" value="Button?" />

3 番目に、イベント ハンドラーを script タグにバインドする必要があります ( SoCを参照)。

document.getElementById('button').onclick = take;

one第 4 に、関数は存在しないid を持つ要素を探します。nothing代わりにIDを意味しましたか?

第 5 に、要素を取得するために正しい ID を使用すると仮定すると、値を設定するときnothingに他の ID の値を使用する必要がありpます。

var take = function () {
    var hey = document.getElementById('hey');
    var nothing = document.getElementById('nothing');

    nothing.innerHTML= 'You say hi, I say ' + hey.innerHTML;
};

ここで実際の例を参照してください: http://jsfiddle.net/M5UWn/

ちなみに、 jQFundamentalsは、jQuery とネイティブ JavaScript の両方に関する優れた学習サイトであることがわかりました。

于 2012-07-10T14:54:12.407 に答える
0

入力をこれに変更します

<input type=button value="Button?" onclick="take();" />
于 2012-07-10T14:46:58.217 に答える
0
<html>
<head>
<title>Javascript test </title>
</head>

<body>

<p id="hey">Hey?</p>
<p id ="nothing">Nothing</p>
<input type="button" value="Button?" onClick="take()"/>

<script>
function take(){
var hey=document.getElementById("hey");
var nothing =document.getElementById("nothing");

nothing.appendChild(document.createTextNode("You say hi, I say "+hey.value));
}
</script>
</body>
</html>


入力タグの末尾に引用符を追加して、実行し ていた
入力と OnClick のタイプに変更しましたが、 id の要素はありません。それで、それをに変更しました
document.getElementById("one")onenothing

于 2012-07-10T14:47:15.180 に答える
0

ここにいくつかのポインタがあります:

ボタンの入力 HTML を次のように変更します。

<INPUT type="button" VALUE="Button?" OnClick="take()">

すべての属性が二重引用符で囲まれていることに注意してください。また、関数呼び出しを囲む余分な括弧が削除されます。

「何もない」要素を取得すると、間違った ID を使用しています。次のようになります。

var nothing = document.getElementById("nothing");

テキストを変更するには、次のコードを使用する方が簡単です。

nothing.innerText = "You say hi, I say " + hey.innerText;
于 2012-07-10T14:55:45.100 に答える