如何在html元素中打印javascript变量
How to print a javascript variable in a html element?
下面的代码动态创建一个span元素。这部分有效。
我在用递增的javascript计数器变量更改每个新元素的名称时遇到了问题。
<script>
var count = 0;
$(document).ready(function(){
$("#addTag").click(function() {
count++;
$("#tags").append("<span id='tag'> <input type='text' name='tag[" + count + "]' /> </span>");
});
});
</script>
期望的结果是:
<span id='tag'> <input type='text' name='tag[0]'/> </span>
<span id='tag'> <input type='text' name='tag[1]'/> </span>
<span id='tag'> <input type='text' name='tag[2]'/> </span>
等等。。这取决于我选择创建的元素数量。
/*
This is a self executing function, it'll execute automatically
when the js file is loaded.
*/ var Tags = (function() {
var container = null, count = 0;
return {
init: function() {
container = $("#tags");
},
addTag: function() {
count += 1;
// like many others mentioned, I've changed the id="tag"
// to class="tag", because id should be a unique
// value on a given page
container.append('<span class="tag"><input type="text" name="tag['+count+']"</span>');
}
};
})();
$(document).ready(function() {
// Once document has loaded, call the init() function
// so that the variable container will be assigned $("#tags").
Tags.init();
$("#addTag").click(function() {
Tags.addTag();
});
});
这是一种更干净的方法,不会用我们的任意变量污染globalscope
或在这种情况下污染jquery's document ready
范围。
第页。S: 您的代码运行得很好,我刚刚向您展示了一个更干净的方法和正确的方法(id
部分)。
您可以使用闭包来保留计数变量。单击后,每次调用函数时,此值都会递增。
// Define our function called on click
var addEl = (function() {
// These variables will be available in the function we return
var count = 0;
var myParent = $('#els');
// Return our function.
// This is a closure, our scope is maintained.
return function() {
myParent.append('<div name="tag[' + count + ']">' + count + '</div>');
count++;
};
})();
// Call our function on click.
// We can see that the counter will be incremented.
$('#addEl').on('click', addEl);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="addEl" type="button">Add</button>
<div id="els"></div>
$("#tags").append("<span id='tag"+ count +"'> <input type='text' name='tag" + count + "' /> </span>");
相关文章:
- 打印javascript控制台的堆栈跟踪
- php:打印javascript/jquery dom就绪
- 如何在html元素中打印javascript变量
- 在htm-php页面中打印Javascript函数
- 使用请求对象中可用的值打印 JavaScript 警报
- 如何使用PHP打印JavaScript
- 如何在我的视图中打印JavaScript代码
- 在自定义控制台中打印javascript错误
- 使用POS打印机打印Javascript收据
- 在移动设备(ios)上打印Javascript
- 如果会话中的属性不为 null 或默认值,则运行/打印 JavaScript Razor ASP.NET MVC
- 在 PHP 中打印 JavaScript 代码不起作用
- 在 php 中打印 javascript 的值
- 打印 Javascript 而不是 ASP(经典)输出
- 如何在 HTML 中打印 javascript 函数的返回值 “添加 {x} +{y}={result}”
- 在 PHP 中打印 JavaScript 代码
- WebClientPrint 用于 Chrome 上的客户端打印 javascript 问题
- 如何打印 JavaScript 非对象的所有函数
- PHP 字符串包含打印 Javascript 时的换行符问题
- 在 Javascript 中打印 Javascript