- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
哎呀,在代码审查部分不小心问了这个=D 让我们再试一次。
每次单击按钮时,我都会尝试在部分内创建一个小 div。
该部分是 id="grid",按钮有一个简单的 onclick="generateGrid()"
我的代码:
var div = document.createElement('div');
function generateGrid() {
document.getElementById("grid").appendChild(div);
}
这有效,但只能一次。我尝试研究答案,有几个人似乎有类似但更复杂的情况,我无法弄清楚这一点。
基本上我只想单击按钮,该部分中会弹出另一个 div。
所以最初它看起来像这样:
<section id="grid">
</section>
然后点击按钮后,它看起来像这样:
<section id="grid">
<div></div>
</section>
然后,当我再次单击该按钮后,它看起来像这样:
<section id="grid">
<div></div>
<div></div>
</section>
等等等等。
现在第一次按钮点击效果很好,但之后点击就没有任何反应。
尽可能避免使用 jQuery,只使用普通 JS。
稍后我计划使用循环来根据 clientWidth 生成 div,但我开始简单 =]
我需要对appendChild做些什么还是应该完全使用其他东西?我也尝试过使用innerHTML,但未能成功。
谢谢!
最佳答案
这是因为当您在函数外部创建 div
时,无论您调用该函数多少次,该 div
都是同一个节点,并且无法添加相同的节点多次指向同一个父节点。描述了一个几乎类似的问题here 。当您在函数内创建 div 时,它会创建一个新节点,该节点将添加到父节点
function generateGrid() {
var div = document.createElement('div');
var nodeTxt = document.createTextNode('Div');
div.appendChild(nodeTxt);
document.getElementById("grid").appendChild(div);
}
<section id="grid"></section>
<button type='button' onclick='generateGrid()'> Click</button>
关于javascript - 想要多次使用appendChild,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54860613/
使用登录后,我想吐出用户名。 但是,当我尝试单击登录按钮时, 它给了我力量。 我看着logcat,但是什么也没显示。 这种编码是在说。 它将根据我在登录屏幕中输入的名称来烘烤用户名。 不会有任何密码。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或include a min
我是一名优秀的程序员,十分优秀!