这可能被证明是一个非常天真的问题,因为我刚开始使用jQueryUI,但更好的问一个愚蠢的问题,而不是疯狂地试图找出一个不是我的错误。最终,我正在尝试生成一个动态的项目列表,这些项目将作为JQUI手风琴显示给用户 - 问题是,它永远不会起作用。
我对文档的了解(包括Google应该在Caja / GAS沙箱中使用)是因为这会产生10'行'的手风琴优点。然而,在实践中,只有三个转换为手风琴风格,而其余的保持原始无聊的格式。控制台中没有任何内容 - 没有错误,警告等。但是,相同的HTML部分只能在客户端工作,因此我担心沙盒/语法问题。
我哪里错了?
请参阅以下Google Apps脚本项目中的示例代码:
code.gs:
function doGet()
{
return HtmlService.createTemplateFromFile('myHtml.html').evaluate();
}
myHtml.html:
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.8.23/jquery-ui.min.js"></script>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/themes/ui-lightness/jquery-ui.css" type="text/css" />
<script>
function createAccordion()
{
var html = "";
for (var i = 0; i< 10; i++)
{
html += "<h3><div>Heading " + i + "</div></h3><div>Body " + i + " </div>\n";
}
console.log(html);
$("#accordion").html(html);
$("#accordion").accordion();
}
$(document).ready(function(){
console.log("Hello, world!");
createAccordion();
});
</script>
</head>
<body>
<div id="accordion">Stuff</div>
<p>Hello!</p>
</body>
</html>
编辑:奇怪的扭曲 - 如果我像这样初始化手风琴:
$("#accordion").accordion({ header: "h3" });
它莫名其妙地工作,就像预期的那样。我最好的猜测是,当jQueryUI要求所有“#accordion”的孩子()时,这与Caja的解析器发回一些时髦的东西有关,但它不会干扰.find()结果。不过,我都是为了获得更多知情意见的目光!