【发布时间】:2019-03-29 00:16:49
【问题描述】:
有一个显示出版物存档的脚本。最初,显示年份列表。单击年份会显示问题列表。当您单击该问题时,它会加载。
最初会显示所有年份。多年来的问题到处都隐藏,不显示,点击后,转换为显示继承。
应该是这样的:
<ul>
<li class="arrow">▲</li>
<li class="journals">
<ul class="ye">
<li class="year">2019</li>
<ul class="in_nums 2019" style="display: none;">
<li data-issue="7633">№1(67)</li>
</ul>
<li class="year">2018</li>
<ul class="in_nums 2018" style="display: none;">
<li data-issue="6998">№1(63)</li>
<li data-issue="7163">№2(64)</li>
<li data-issue="7320">№3(65)</li>
<li data-issue="7474">№4(66)</li>
</ul>
</ul>
</li>
<li class="arrow">▼</li>
从1.7.2版本升级到3.3.1后,以下代码无法正常工作:
$(document).ready(function(){
$('li.year').toggle(function(){
$('.in_nums').css('display','none')
var y = $(this).text()
$('.'+y).css('display','inherit')
},
function(){
var y = $(this).text()
$('.'+y).css('display','none')
})
$('.in_nums li').click(function(){
$('#fresh').html('<img src="images/30.gif"/>');
$.post(location.href,{'art_id':$(this).data('issue')},function(data){
var result = $.parseJSON(data);
var fresh = '<div class="lastjor">[[%babel.archive_[[++cultureKey]]]]</div>'
$('#fresh').html(fresh+result.output)
$('#latest').html(result.current)
})
})
$.post(location.href,{'art_id':[[!getLastIssueID]]},function(data){
var result = $.parseJSON(data);
var fresh = '<div class="lastjor">[[%babel.lastjor_[[++cultureKey]]]]</div>'
$('#fresh').html(fresh+result.output)
$('#latest').html(result.current)
})
})
它在出版年份中添加了无显示:
<ul>
<li class="arrow">▲</li>
<li class="journals">
<ul class="ye">
<li class="year" style="display: none;">2019</li>
<ul class="in_nums 2019" style="display: none;">
<li data-issue="7633">№1(67)</li>
</ul>
<li class="year" style="display: none;">2018</li>
<ul class="in_nums 2018" style="display: none;">
<li data-issue="6998">№1(63)</li>
<li data-issue="7163">№2(64)</li>
<li data-issue="7320">№3(65)</li>
<li data-issue="7474">№4(66)</li>
</ul>
</ul>
</li>
<li class="arrow">▼</li>
jQuery 语法有什么变化或者可能是什么问题?
【问题讨论】:
-
你的控制台有错误吗?
-
我相信是因为你打电话给
toggle。你想通过传递两个函数来切换来实现什么,我在 jQuery 文档中没有看到这个? -
@Adder 你是对的,它已被弃用,很可能是问题的原因。文档在这里:api.jquery.com/toggle-event
-
@RoryMcCrossan 是的,并且该文档指出它不仅已被弃用,而且在 1.9 中已被删除。
-
升级时总是值得一看的升级指南:jquery.com/upgrade-guide/1.9
标签: jquery css css-selectors