在不了解templateNav
or的情况下building
,这似乎对我有用:
building
JSON对象的样机和templateNav
:
buildingJson = [
{"href":"foo.html",
"title":"One"},
{"href":"bar.html",
"title":"Two"}
]
function templateNav( json ){
str = "";
for( i = 0; i < json.length; i++){
str += '<li><a href="'+json[i].href+'">'+json[i].title+'</a></li>';
}
return str;
}
更新navbar
var navbar = this.$(':jqmData(role="navbar") ul');
navbar.empty().append(templateNav(buildingJson));
HTML
<div data-role="navbar">
<ul>
<li><a href="a.html">One</a></li>
</ul>
</div><!-- /navbar -->
我不确定您的代码是什么样的;如果您ul
被 a 包裹div
,data-role=navbar
那么在您使用empty
它之后,您需要确保templateNav
将结果包裹在 a 中ul
,或者更新选择器navbar
以包含ul
. templateNav
在附加之前尝试记录以查看实际附加的内容。
无论如何,navbar.navbar()
即使在动态更改 innerHTML 之后,似乎也没有必要。