【问题标题】:Probably simple jQuery selector question可能是简单的 jQuery 选择器问题
【发布时间】:2023-03-24 06:59:01
【问题描述】:

我现在有一些代码在单击链接时执行。 HTML 是结构化的:

<a href='link1'>Stuff<span class='color-bar'></span></a>
<a href='link2'>Stuff<span class='color-bar'></span></a>
<a href='link3'>Stuff<span class='color-bar'></span></a>

像这样使用 jQuery:

$('a').liveQuery('click',function(event){
  ...
  ...
  $( selector ).animate({bottom:10},'slow');
}

我的问题是如何使用 $this 来定位特定的“.color-bar”?在我为每个人分配一个 id 之前,我意识到这太过分了,并认为我可以使用 $this 元素来做到这一点。

我尝试了$( $this &gt; '.color-bar' ),但没有奏效。我只是弄错了语法还是错误地接近了它?谢谢!

【问题讨论】:

  • 你想要一个带有 .color-bar 类的标签吗?

标签: javascript jquery css-selectors


【解决方案1】:

解决方案

$('.color-bar', $this)

$(this).find('.color-bar')

注意

.find() 比第一个解决方案快一点,因为第一个解决方案调用 find 无论如何在 jQuery 内部。不过看起来更好看一点

【讨论】:

  • 对于它的价值,我倾向于使用第二种形式 - 我的想法发现它更容易理解,因此更易于维护,它总是以相似/相同的结果解决方案获胜。
【解决方案2】:
$(this).find('.color-bar').animate({bottom:10},'slow');

【讨论】:

    【解决方案3】:
    $(this).children('.color-bar').animate({bottom:10},'slow'); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-09
      • 1970-01-01
      • 2020-09-10
      • 2010-10-09
      • 1970-01-01
      • 2011-04-04
      相关资源
      最近更新 更多