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");

按标签名:

//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;

另一种选择是使用 DOM API 构建段落

于 2012-10-15T13:37:51.223 回答