【问题标题】:Cufon (jQuery?) selector not to select childrenCufon(jQuery?)选择器不选择子项
【发布时间】:2012-05-06 09:27:09
【问题描述】:

我有一个带有子菜单的非常基本且常用的列表菜单:

<ul>
    <li>Home</li>
    <li>
        About
        <ul id="sub-menu">
            <li>Child1</li>
            <li>Child2</li>
        </ul>
    </li>
</ul>

然后我有一个 Cufon 选择器将字体应用到菜单:

Cufon.replace('ul li a');

有没有办法只选择第一级菜单而忽略另一级?现在两个级别都有字体,但我想为子菜单使用其他东西。

我是 Javascript、Cufon 和 jQuery 的初学者,我尝试过使用子选择器,但没有成功。我怎样才能做到这一点?

【问题讨论】:

    标签: javascript jquery-selectors cufon


    【解决方案1】:

    您的 JavaScript 库似乎使用了 CSS 样式的选择器;你可以使用

    <ul class='containingMenu'>
     <li>Home</li>
     <li>
        About
        <ul id="sub-menu">
            <li>Child1</li>
            <li>Child2</li>
        </ul>
     </li>
    </ul>
    

    使用这个选择器

    ul.containingMenu > li > a
    

    其中&gt; 导致选择器仅适用于a 的直接子代li 的直接子代ul.containingMenu 的直接子代。

    See this example in action at JSFiddle.

    【讨论】:

    • 对于a?我的意思是从提问者想要匹配&lt;ul&gt; 的所有直系子代的问题中读到,然后是其中的所有&lt;a&gt; 标签。我做了一点澄清。
    • ul.containingMenu &gt; li (also) 匹配包含 About 的 li;如果此 li 包含 a - 直接子代或后代 - 它将与 ul.containingMenu &gt; li a 匹配,这是 OP 不想要的。
    • 好的,你是对的。我忘了&lt;ul&gt; 也包含在&lt;li&gt; 中。固定:-)
    • 选择你的作为最佳答案。抱歉,忘记了这个问题。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-27
    相关资源
    最近更新 更多