1

値を送信するためのテキスト領域(そこから数値を取得)とボタンがあり、このループによって生成された段落にコンテンツを追加しようとしています。

var countNum = document.getElementById(num).value;
var entNum = parseInt(countNum);

for(i=1;i<=entNum;i++){
    if(i%3!==0 && i%7!==0){
       document.write(i + "<br>");
    }
}

もちろんdocument.write、以前のコンテンツ全体が上書きされますが、ボタンの下に、ループとそれらから生成された番号を受け取る段落が必要です。それを行う正しい方法は何ですか?

4

3 に答える 3

2

ボタンの下にコンテナがあり、そこにアイテムを入れると仮定しましょう。

<button [...] />
<div id="myContainer"></div>

次に、を呼び出すことによってコンテナを埋めることができます

var myContainer = document.getElementById("myContainer");
var paragraph = document.createElement("p");
paragraph.appendChild(document.createTextNode("YourNumberOrTextHere"));
myContainer.appendChild(paragraph);

あなたは残りを見つけるでしょう!;)


編集:あなたのコメントに続いて、次の追加:

要素を削除するには、その要素への参照が必要です。

ID別:

//Create element and give it a unique ID
var paragraph = document.createElement("p");
paragraph.id = "element1";
//Now you can get it like this
var paragraph = document.getElementById("element1");

TagNameによる:

//Request all elements with a certain tag name
var paragraphs = document.getElementsByTagName("p");
//or only those of our container:
var paragraphs = document.getElementById("myContainer").getElementsByTagName("p");
//Now you can mess with all of them like this:
var paragraph = paragraphs[0]

参照による:

//Just reuse the variable you used when you created your element
var paragraph = document.createElement("p");
//use paragraph

詳細については、以下をご覧ください。

;)

今:それを削除します:

子要素を削除する必要があることをparentContainerに通知する必要があります。幸い、各要素はその親への参照を保存します。

paragraph.parentElement.removeChild(paragraph);
于 2012-10-15T13:37:20.343 に答える
0

このようなことをします:

var countNum = document.getElementById(num).value;
var entNum = parseInt(countNum);
var html = ''

for(i=1;i<=entNum;i++){
    if(i%3!==0 && i%7!==0){
       html += i + "<br>";
    }
}

次に、必要な場所にhtmlを挿入します...

于 2012-10-15T13:37:26.397 に答える
0

たとえば、コンテナ要素のinnerHTMLを設定できます。

<button>Click Me</button>
<div id="container"></div>

document.getElementById('container').innerHTML = content;

もう1つのオプションは、DOMAPIを使用して段落を作成することです。

于 2012-10-15T13:37:51.223 に答える