【问题标题】:jQuery .before/.after is not workingjQuery .before/.after 不起作用
【发布时间】:2014-07-18 15:35:18
【问题描述】:

为什么.before/.after 不起作用? jsfiddle 我认为选择器或 HTML 结构有问题,但我没有看到。

<div class="kontakty">
    <div class="row">
        <a id="link-anchor-form" href="/kontakty/#form_form1">
           <div class="collapsing-link clearfix"> 
              <h2 id="go-form-button">something</h2>
           </div>
        </a>
    </div>
    <div class="collapsing-link clearfix">sadad</div>
    <div class="collapsing-link clearfix">sadad</div>
    <div class="collapsing-link clearfix">sadad</div>
    <div class="collapsing-link clearfix">sadad</div>
</div>


$('.kontakty > div.collapsing-link:first-child').after($('.kontakty .row #link-anchor-form')).addClass('moved');

【问题讨论】:

  • 始终将所有相关代码和标记 放入 问题中,不要只是链接,甚至不要链接到 jsFiddle。小提琴是一个很好的附加组件,而不是替代品。这是您的第六个问题,您现在应该在没有帮助的情况下自己做。
  • 好的,谢谢,下次我会做的。
  • 看起来你不知道:first-child 选择器是如何工作的。查看一些文档:api.jquery.com/first-child-selector.

标签: jquery html jquery-selectors


【解决方案1】:

.kontakty &gt; div.collapsing-link:first-child 不匹配任何内容。 .kontakty:first-child 不是 .collapsing-link 的成员。

你可能想使用:

 $('.kontakty > div.collapsing-link').first()

改为。

【讨论】:

  • @T.J.Crowder — 不,给&lt;div class="row"&gt;
  • 或者只是删除-child部分:$('.kontakty &gt; div.collapsing-link:first')
  • @Quentin:我明白你现在在说什么。我会换一种说法,但这只是一个措辞(我并不是说我的表达方式会更好)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-04
  • 2012-05-21
相关资源
最近更新 更多