jquery在加载之前声明元素

时间:2015-04-22 07:50:44

标签: javascript jquery

我在脚本标签中使用模板。 在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/ 那么如何在加载之前声明所有可能的元素呢?

1 个答案:

答案 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);
});

小提琴:

https://jsfiddle.net/hfhLpuc3/2/