gpt4 book ai didi

javascript - IE 8 underscore-js 模板/jquery 模板中输入标签的奇怪结果

转载 作者:行者123 更新时间:2023-11-30 13:18:40 25 4
gpt4 key购买 nike

我已经构建了一个使用 underscore-js 来呈现模板的系统,它在除 IE 之外的所有浏览器中都可以正常工作。

这是模板的一个片段:

<td><input type="text"  id="${_id}_name" class="name" value="${name}" /></td>

在 IE8 中,如果 name 在提供的对象中是一个空字符串,我将在实际的文本字段中看到 type=text

深入挖掘,我发现 IE 8 中的下划线模板如下所示:

<tr id="319"><TD><INPUT id=319_name class=name value= type=text></TD>

而下划线在其他浏览器中的输出是:

<td><input type="text" id="310_name" class="name" value=""></td>

很明显,属性值周围缺少引号导致了这个问题。

我也注意到 jquery-tmpl 也有同样的问题。

下面是一段代码,展示了模板是如何设置的:

template = _.template( tmpl );

$.each(data.data.stored, function(i, row) {
$('table#user_data').append(template.template(row));

知道这是怎么/为什么会发生的吗?

最佳答案

好的,已找到解决方案。我在 jquery-tmpl 的 github 上发现了这个问题:

https://github.com/jquery/jquery-tmpl/issues/3

显然这是由 IE 序列化 html 的方式引起的,解决方法是在标记中放置一些空格。所以:

${name} 变成 ${name}

关于javascript - IE 8 underscore-js 模板/jquery 模板中输入标签的奇怪结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11109514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com