Salesforce Visualforce:Jquery树视图不工作
我在我的Visualforce页面上试用了jQuery中的Treeview,但由于某种原因,它不起作用 这是相关代码Salesforce Visualforce:Jquery树视图不工作,salesforce,apex-code,visualforce,force.com,Salesforce,Apex Code,Visualforce,Force.com,我在我的Visualforce页面上试用了jQuery中的Treeview,但由于某种原因,它不起作用 这是相关代码 <apex:outputPanel id="invisibleSection" layout="block" styleClass="invisibleSectionClass"> <script type="text/javascript"> $("#browser").treeview();
<apex:outputPanel id="invisibleSection" layout="block" styleClass="invisibleSectionClass">
<script type="text/javascript">
$("#browser").treeview();
document.write('hi');
$(document).ready(function() {
$("#navigation").treeview({
persist: "location",
collapsed: false,
animated: "medium"
});
});
</script>
<ul id="browser" class="filetree">
<li><span class="folder">Folder 1</span>
<ul>
<li><span class="file">Item 1.1</span></li>
</ul>
</li>
<li><span class="folder">Folder 2</span>
<ul>
<li><span class="folder">Subfolder 2.1</span>
<ul id="folder21">
<li><span class="file">File 2.1.1</span></li>
<li><span class="file">File 2.1.2</span></li>
</ul>
</li>
<li><span class="file">File 2.2</span></li>
</ul>
</li>
<li class="closed"><span class="folder">Folder 3 (closed at start)</span>
<ul>
<li><span class="file">File 3.1</span></li>
</ul>
</li>
<li><span class="file">File 4</span></li>
</ul>
根据John的建议更新如下:
$(document).load(function () {
$("#browser").treeview();
$("#navigation").treeview({
persist: "location",
collapsed: false,
animated: "medium"
});
});
乍一看,您可能需要将脚本标记移动到UL标记下方。由于它是一个内联脚本标记,DOM可能在脚本运行时不知道UL id“browser”。我甚至会移动
$(“#浏览器”).treeview()代码>document.load方法的内部。这将确保在完成页面渲染和建立DOM后调用代码。谢谢John。我试着将脚本部分移到ul下面,但仍然不起作用。我还尝试将其放入document.load()中,但也没有任何帮助。我在上面的原始帖子中添加了我的新代码。如果函数的编写方式有问题,请告诉我。嗨,John,我在这里解决了主要问题。显然,jquery.js和jquery.cookie.js文件的路径不正确,因为它们位于“lib”文件夹中。我解决了这个问题,它工作了,但是谢谢你告诉我DOM没有按预期初始化。这对我也有帮助。
$(document).load(function () {
$("#browser").treeview();
$("#navigation").treeview({
persist: "location",
collapsed: false,
animated: "medium"
});
});