「li」要素が実際に追加されているにもかかわらず、WP8 上の IE10 は「rec」オブジェクトの内容を出力できないと思います。jQuery(v1.7.1)を使用してCordova(v2.4.0)Windows Phone 8アプリを試してみましたが、以下のコードで問題なく動作するようです
$.each(lis, function (ind, rec) {
console.log(rec.innerHTML.toString());
});
出力は次のとおりです。
ScriptNotify :: first
ScriptNotify :: second
ScriptNotify :: third
代わりに outerHTML を実行すると、次のように出力されます。
ScriptNotify :: <li data-test="test1">first</li>
ScriptNotify :: <li data-test="test2">second</li>
ScriptNotify :: <li data-test="test3">third</li>
index.html からの完全なコード:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="format-detection" content="telephone=no" />
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
<link rel="stylesheet" type="text/css" href="css/index.css" />
<title>Hello World</title>
</head>
<body>
<div class="app">
<h1>Apache Cordova</h1>
<ul id="here">
</ul>
</div>
<script type="text/javascript" src="lib/jquery-1.7.1.js"></script>
<script type="text/javascript" src="cordova-2.4.0.js"></script>
<script>
window.console = {
log: function (str) { window.external.Notify(str); }
};
$('#here').append('<li data-test="test1">first</li>');
$('#here').append('<li data-test="test2">second</li>');
$('#here').append('<li data-test="test3">third</li>');
var lis = $('#here').find('li');
console.log(lis.length.toString());
$.each(lis, function (ind, rec) {
console.log(rec.outerHTML.toString());
});
</script>
</body>
</html>