JQuery の $.tmpl() レンダリングはブラウザーによって大きく異なることがわかりました。主にIEバージョン。以下のコードを更新パネルに配置すると、.appendTo("#divList");
メソッドでエラーがスローされます。
これに対する修正は何ですか - 以下のコード例
Mozilla: 成功
IE ブラウザ モード (IE9 Compat View)、ドキュメント モード (IE9 標準): SUCCESS
IE ブラウザ モード (IE9)、ドキュメント モード (IE9 標準): SUCCESS
IE ブラウザ モード (IE8)、ドキュメント モード (IE9 標準): SUCCESS
IE ブラウザ モード (IE7)、ドキュメント モード (IE9 標準): SUCCESS
IEブラウザモード(※)、ドキュメントモード(IE8規格):FAIL(何もレンダリングしない)
IEブラウザモード(※)、ドキュメントモード(IE7規格):FAIL
IEブラウザモード(※)、ドキュメントモード(Quirksモード):FAIL
<head runat="server">
<meta http-equiv="X-UA-Compatible" content="IE=8;FF=3;OtherUA=4" />
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script src="http://ajax.microsoft.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js"></script>
<script type="text/javascript">
$(function () {
var a = [
{ actor: 'hanks', film: 'yo mama' },
{ actor: 'banks', film: 'men can swim' },
{ actor: 'will', film: 'men can swim' },
{ actor: 'jlo', film: 'ooogh aah' },
{ actor: 'jlo', film: 'bright yellow shadows' }
];
$('#txDibaba').live("keyup", function () {
$("#divList").empty();
$('#PM_tmpl').tmpl(blep(a, 'actor', $(this).val())).appendTo("#divList");
});
});
function blep(arr, prop, value) {
return $.grep(arr, function (item) { return item[prop] == value });
}
</script>
<script id="PM_tmpl" type="text/x-jquery-tmpl">
<tr>
<td style="width:60%;text-decoration:underline;cursor:pointer;">${name} ${strength} ${film}</td>
<td style="width:200px;"> ${actor} </td>
</tr>
</script>
<form id="form1" runat="server">
<input type="text" id="txDibaba" />
<br />
<div id="divList" style="border:1px solid black; width:400px; padding:2px;">
</div>
</form>
IE9モードを強制するのは理にかなっていますか?