我在脚本标签中使用模板。 在javascript“class”中,我首先声明我将使用的所有元素。如果某些元素将从模板添加 - 它们将不起作用。
<script type="text/template" id="new">
<div id="el">Yo</div>
</script>
<div id="container">
<button id="go">Paste here</button>
</div>
var $el = $('#el'),
goBtn = $('#go'),
$container = $('#container'),
newTpl = $('#new');
goBtn.on('click', function(){
$container.html(newTpl.html());
alert($el.length); // return 0!
});
https://jsfiddle.net/0fat5htg/ 那么如何在加载之前声明所有可能的元素呢?
答案 0 :(得分:0)
我不确切地知道你的要求,但你可以试试这个:
var $el = '',
goBtn = $('#go'),
$container = $('#container'),
newTpl = $('#new');
goBtn.on('click', function(){
$container.html(newTpl.html());
$el = $('#el'); //redefining $el variable
alert($el.length);
});
小提琴: