2

ハンドルバー テンプレート内の要素にアクセスするにはどうすればよいですか? Handlebars Helper 内の #element-{{id}} にアクセスしようとしていますが、ログに null が返されます。

JSBin の例

<div class="container">
<div class="panel panel-default">
<script id="video-template" type="text/x-handlebars-template">
{{#each items}}
<div class="panel-heading">
<h3 class="panel-title">{{snippet.title}}</h3>
</div>
<div class="panel-body">
{{someFunction id}}
<div id="element-{{id}}"></div>
</div>
{{/each}}
</script>
</div>
</div>

<script>
Handlebars.registerHelper('someFunction', function(id) {
console.log(document.getElementById("element-"+id));
});
</script>
4

2 に答える 2

0

問題は、ハンドルバーヘルパーが呼び出されたときにDOMに要素がないことです。そのため、タイムアウト関数を使用しました...

setTimeout(function(){
var element = document.getElementById("element-"+id);
console.log(element);
},1000);

誰かがより良い方法を知っていますか?

于 2016-09-18T03:18:18.827 に答える