【发布时间】:2009-04-05 16:18:00
【问题描述】:
我第一次使用 jQuery UI 手风琴,我想我在这里遗漏了一些东西。我写了以下代码:
<div id="theAccordion">
<h2><a href="#">Header1</a></h2>
<div>old content 1</div>
<h2><a href="#">Header2</a></h2>
<div>old content 2</div>
<h2><a href="#">Header3</a></h2>
<div>old content 3</div>
<h2><a href="#">Header4</a></h2>
<div>old content 4</div>
<h2><a href="#">Header5</a></h2>
<div>old content 5</div>
</div>
<script type="text/javascript">
var map = {
Header1: function(jqObj) { jqObj.append("<p>new content 1</p>"); },
Header2: function(jqObj) { jqObj.append("<p>new content 2</p>"); },
Header3: function(jqObj) { jqObj.append("<p>new content 3</p>"); },
Header4: function(jqObj) { jqObj.append("<p>new content 4</p>"); },
Header5: function(jqObj) { jqObj.append("<p>new content 5</p>"); }
};
function accordionChange(event, ui) {
ui.newContent.empty();
eval("map." + ui.newHeader.text() + "(ui.newContent)");
}
$(function() {
$("#theAccordion").accordion({
change: function(event, ui) { accordionChange(event, ui); }
});
});
</script>
代码按预期工作,它触发地图函数,但没有代码附加到手风琴内容,因为 newContent 对象似乎一直是空的。 我正在使用 IE8 调试工具对其进行调试,并且 jqObj.length 为零,因此对新内容没有任何更改。 你知道这里发生了什么吗?
提前致谢
【问题讨论】:
标签: jquery jquery-ui accordion