English 中文(简体)
为什么我的 j子挑选人选择名单上的所有 anchor子?
原标题:Why does my jQuery selector select all anchors inside the list element?
  • 时间:2009-09-03 14:35:04
  •  标签:

面对这种简单挑选者的问题,现在需要几个小时的时间,而且必须失踪。 我有一个<代码><ul>, 其中一些<li>s nested <ul>s. Each <li> 载列链接,在被点击时,我想履行功能(而不是航行),但重要的是,这只应在括号内所载链接(<编码><ul>,而不是在编码上可能出现的任何链接。 简单思考:

传真:

<ul>
    <li>
        <a href="dontleavethis.page">A link</a>
        <ul>
            <li><a href="navigate.there">A nested link</a></li>
            <li><a href="navigate.somewhere">Another nested link</a></li>
        </ul>
    </li>
</ul>

j 质量:

$( li:has(ul) a ).click(function() { 
    bla bla bla...
    return false;
});

不管我如何用我的挑选人的话说,我都无法从触发点击手机时,停止封顶的<代码><ul>上的联系。 它们显然不符合“<代码>:has(ul)”标准,但出于某种原因,手稿仍然被附在后面。 我在这里做了什么错误?

最佳回答
$( li:has(ul) > a ).click(...)

问题在于$(li:has(ul) a ) 系指all<>m><>>>.a、而不仅仅是直接子女。

问题回答
$( ul > li:has(ul) > a ).click(function(){
    bla bla bla....
    return false;
});

如果你给予顶级联系的话,你可以直接接触,而不需要任何复杂的(荷兰)选择逻辑。

你们应该给主编一个“主人”,但你应当尝试和考虑一个更具描述性的(为了你们自己的利益)。 那么,你可以公正使用。

$( ul#main > li > a ).click(function() { 
    bla bla bla...
    return false;
});

只选择一个元素的直接祖先。

-edit- never mind, this also means the li s without an ul in it will have the style. @idrumgood s solution is best.

活动是否得到宣传?

如何对待

$( ul > li:has(ul) > a ).click(function(event){
  bla bla bla....
  event.stopPropagation();
  return false;
});




相关问题