jQuery:后代选择器仅适用于一个“隐藏”的 div

Posted

技术标签:

【中文标题】jQuery:后代选择器仅适用于一个“隐藏”的 div【英文标题】:jQuery: Descendant selectors only working on one "hidden" div 【发布时间】:2013-01-18 03:48:28 【问题描述】:

大家好,也许你可以帮忙。 我正在使用标准 jQuery UI 构建一个简单的选项卡式表单。由于各种原因,此表单将包含约 40 个隐藏 div,其中包含所有表单字段(我无法通过 AJAX 加载)。

我创建了a fiddle,并带有一个非常精简的页面版本。您将在“管理”选项卡下看到一些内容,但在管理或临床选项卡下不会显示任何内容。对 html 的检查将显示其中确实有内容。

这个可能导致问题的特定代码是这样的,特别是 CSS 后代选择器:

    jQuery( '.tabDiv ul li a' ).click(function()                   /* Create Toggle Function */
    var link = $(this).attr('href'); 
    jQuery( '.navigation' ).removeClass("active").addClass("hidden");
    jQuery( link ).removeClass("hidden").addClass("active");
    return false;
);

但如果是,我不明白为什么。此页面将始终在最新的 Chrome 浏览器上运行,因此可以忽略任何 IE/Firefox 问题。

提前感谢您的帮助,我在很短的时间内就从这个网站学到了很多东西。

【问题讨论】:

在 Safari 和 Chrome 中运行良好。 它在第一个选项卡(管理员)、其他选项卡(临床/管理)及其子链接上没有返回任何内容。 这些链接的href类似于“#managementBanking”,与相关div的jQuery选择器相同。那部分工作正常。虽然有点误导,但我希望在实际代码中有关于此的 cmets :-) 【参考方案1】:

唯一的问题是文本出现在菜单下方,而不是右侧。此外,只有管理选项卡下的前 2 项有任何内容。

【讨论】:

不,因为我指出了正在发生的问题。这不是他认为自己遇到的问题。 哇哦;我很抱歉在这里浪费了每个人的时间。 LOL,休息一下,把视线从屏幕上移开一会儿:-)

以上是关于jQuery:后代选择器仅适用于一个“隐藏”的 div的主要内容,如果未能解决你的问题,请参考以下文章

CSS 选择器仅针对直接子代而不是其他相同的后代

nth-child() 选择器仅适用于选择的几个元素[重复]

knp 分页器仅适用于数组

jquery ui datepicker无法添加新的输入字段

适用于MNIST的逻辑回归的最优解算器的选择

jQuery之选择器