限制JavaScript追加到dom
limit JavaScript append to dom
我想在用户点击按钮到正文时附加文本框。但我想追加他们只有一次,而用户是在该页。我试过用counter来做这件事。但是有一些小问题。
<script type="text/javascript">$(document).ready(function(){
var k=0;
$('#show').click(function(){
if(k==null){
for(i = 0; i < 5; i++) {
$('body').append('<br/>guve your name<input type="text" id="div'+ i +'" />');
};
};
k=1;
});
});</script>
在html <button id="show">Hii</button>
使用 one()
方法附加事件处理程序,对于事件类型和元素只执行一次处理程序。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#show').one('click', function() {
for (i = 0; i < 5; i++) {
$('body').append('<br/>guve your name<input type="text" id="div' + i + '" />');
};
});
});
</script>
<button id="show">Hii</button>
您有多种选择:
检查元素是否存在(最简单)。
当你添加带有id的div时,它们可以被直接检查,这样你就不用担心变量了。
$('#show').click(function() {
if ($("#div0").length == 0) {
for(i = 0; i < 5; i++) {
$('body').append('<br/>give your name<input type="text" id="div'+ i +'" />');
};
}
});
使用one()
(imo最不利的选择)
$('#show').one(function() {
for(i = 0; i < 5; i++) {
点击按钮后删除(或禁用)按钮
(唯一合理的UX选项,如果需要,可以与one()结合使用)
$('#show').click(function() {
$('#show').hide();
for(i = 0; i < 5; i++) { ...
相关文章:
- Jasmine-无法将元素追加到DOM
- Chrome DOM 未针对 jQuery 追加/淡入进行更新
- 这两种使用 jQuery 追加 DOM 元素的方法有什么不同
- 使用javascript追加到DOM
- 无法与使用 jquery 追加添加的 dom 对象进行交互
- 将字符串转换为 jquery 元素并将其追加到 DOM 中
- 高性能追加到现有 DOM 元素的数组
- 使用Javascript/jQuery将已存在的元素追加到DOM中
- 在DOM中删除和追加
- 分离后重新追加到DOM中
- Chrome扩展:将元素追加到DOM中没有立即出现的新注入的元素中
- 倾听DOM的追加
- 通过DOM中的javascript追加script标记并设置其src会引发错误
- JQuery中动态创建的元素不断追加到DOM
- 如何在昂贵的计算任务之前单击将文本追加到DOM
- 查找,替换和追加新的dom元素
- 如何使用Jquery或Javascript瞄准追加元素,或者如何将追加元素添加到DOM中
- jQuery.车把模板不渲染动态DOM追加
- 实时数据绘制性能HTML5画布vs Dom追加
- JS DOM追加子项不起作用