javascript - jQuery .find() 选择正确的元素但不显示它

标签 javascript jquery

我不确定如何准确地表达这个问题,所以这里是详细信息:

我在这里写的这个小东西:https://jsfiddle.net/f8thL83r/1/ 效果很好,只要您只想在顶部菜单中显示元素即可。

单击“图形设计”下的任何内容,它不会在右侧 Pane 中显示任何内容。为什么它适用于第一类而不适用于第二类?

这是一些代码。我知道我这样做的方式可能很糟糕,但我才刚刚开始适应 jQuery。

$('#Menu h3').click(function () {
            $("#Menu ul ul").slideUp();
            if (!$(this).next().is(":visible")) {
                $(this).next().slideDown();
            }
        });

        $('#Menu ul ul li a').click(function (e) {
            var $currPage;
            e.preventDefault();
            $lastPage.hide();
            var j = ($(this).parent().index()); //index of the li to show
            var i = $(this).parent().parent().parent().index(); //index of the ul to show
            $currPage = $('#ServMain .list' + i).find('.page' + j);

            $currPage.show();
            $lastPage = $currPage;
        });

最佳答案

似乎所选页面的其他 HTML 元素不可见。
下面的代码应该修复它们

$('#Menu ul ul li a').click(function (e) {
    e.preventDefault();
    $lastPage.hide();
    var j = ($(this).parent().index());
    var i = $(this).parent().parent().parent().index();
    $('#ServMain ul').not('.list'+i).hide();
    $lastPage = $('#ServMain .list' + i).find('.page' + j);
    $lastPage.parent().show();
    $lastPage.show();
    $lastPage.find('div').show();
});

DEMO

关于javascript - jQuery .find() 选择正确的元素但不显示它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31016027/

相关文章:

javascript - 如何将 Bootstrap 下拉列表添加到列表元素内的按钮

php - 在 JavaScript 函数中传递多个参数

javascript - Canvas 中的 HTML5 图像适配问题

jquery - 如何删除 ASP.NET ImageButton 的边框

javascript - Yahoo YUI DataTable.DataSource,无论如何简单更新?

javascript - html页面连续滚动

javascript - 如何获取 limit 和降序 created_At 返回的项目索引

javascript - 如何将数据动态添加到谷歌图表中

c# - 使用 jquery、ajax 和 asp.net 的评论框?

javascript - 如何检测网页上未正确加载/完成的图像?