在IE中,胡子认为模板标签是eq(0)

时间:2015-01-15 18:15:56

标签: javascript jquery html internet-explorer mustache

我试图查询.eq(N),但它在IE中完全被一个人关闭,因为IE认为<template>标记是eq(0)

如何获取模板标记被忽略的预期输出,因此$('h1').eq(0).attr("id")是#output中第一个生成的元素,而不是<template>标记中的元素?

例如

JSON:

   var myJSON = {"id" : 80,"name" : "Frank"};

HTML:

<template style='display:none' id='myTemplate'>
  <h1 id='header{{id}}'>Hello {{name}}</h1>
</template>
<div id='output'></div>

JS:

$('#output').append( Mustache.render($('#myTemplate').html(), myJSON));

在IE中:

console.log($('h1').eq(0).attr("id")); //header{{id}}

其他地方:

console.log($('h1').eq(0).attr("id")); //header80

1 个答案:

答案 0 :(得分:0)

而不是<template style='display:none' id='myTemplate'>我使用了<script type='x-tmpl-mustache' id='myTemplate'>。 IE http://caniuse.com/#search=template中不支持模板标记。感谢@Jonathan Sampson的领导,我也投票了。