我试图查询.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
答案 0 :(得分:0)
而不是<template style='display:none' id='myTemplate'>
我使用了<script type='x-tmpl-mustache' id='myTemplate'>
。 IE http://caniuse.com/#search=template中不支持模板标记。感谢@Jonathan Sampson的领导,我也投票了。