jQuery排除如果孩子有跨度与某类?

问题描述

| 我有这个Chrome扩展程序,它在您的戳下面添加了一个“戳所有”按钮。我正在尝试对其进行更新,以便当您有6个或更多戳时,通过“显示全部(6)”可以刷新“我的所有戳”按钮。 [因为当您单击\“显示全部(6)\”时,它消失了]。所以在我的代码中,这就是我添加按钮的方式:
$(\"#pagelet_pokes a:last\").after(html_code)
因此在facebook中有一个id为\“ pagelet_pokes \”的div,它具有大量的sub div,最终有一个w / class = \'phs \'的div,其中有一个,这是oke链接。 因此,为了简化:
<div id=\'pagelet_pokes\'>
...
<div class=\'phs\'>
<ul>
<li><div><div><a href>Poke #1</a></div></div></li>
<li><div><div><a href>Poke #2</a></div></div></li>
</div>
</div>
因此,jQuery在last之后添加了我的按钮。很好 问题是,\“显示全部(6)\”在底部添加了另一个
  • ,并且单击它会隐藏自身而不是将其删除[display = none]。因此,在上面的代码之后,它添加了:
    <li class=\'showAll\'>
    <a href=\'#\'>
    <span class=\'fwb\'>Show all (6)</span>
    </a>
    </li>
    
    现在,我尝试将我的JavaScript代码更改为此:
     $(\"#pagelet_pokes a:last\").not(\'.showAll\').after(html_code)
    
    它没有用,因为第一个选择器选择了所有,然后丢弃所有具有.showAll的a \,但这无济于事,因为.showAll位于子节点中! 因此,我的问题可以归结为这一点。我如何在#pagelet_pokes中选择最后一个\ a,它的子跨度不属于类“ pokeAll \”?是否有一些可能会像这样工作的“!”选择器? :
    $(\'#pagelet_pokes !li.showAll a:last\')
    ?谢谢!     

    解决方法

    暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

    如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

    小编邮箱:dio#foxmail.com (将#修改为@)