Jquery .not class 在 $(this)
Jquery .not class on $(this)
我是 Jquery 的新手,很抱歉,如果已经回答了这个问题。
我正在这样做:
$(this).index();
响应点击事件。现在,据我所知 $(this) 指的是它所使用的上下文,它将获得被点击元素的索引。在我的例子中,标记是这样的:
<div class="real cloned"></div>
<div class="real cloned"></div>
<div class="real"></div>
<div class="real"></div>
现在,问题是我只想注册名为 "real" 而不是 "cloned" 的那些。问题是,如果我点击第一个 "real",它会说它是索引 2(这是真的,因为 2 个克隆的取 0、1),但我真的希望它只是 0,因为它是第一个在 class.
中只有 "real"
我试过这个:
$(this).not('.cloned').index();
但它什么也没做。仍然 returns 相同并用它计算克隆。我以为只有 select 那些没有 "cloned" 作为 class,但我错了:)
希望有人能帮助我。很抱歉 post.
应该是:
$('.real:not(.cloned)').index(this);
// or
$('.real').not('.cloned').index(this);
//or
$(this).index('.real:not(.cloned)');
您可以使用 hasClass()
方法:
if (!$(this).hasClass('cloned')) {}
我是 Jquery 的新手,很抱歉,如果已经回答了这个问题。
我正在这样做:
$(this).index();
响应点击事件。现在,据我所知 $(this) 指的是它所使用的上下文,它将获得被点击元素的索引。在我的例子中,标记是这样的:
<div class="real cloned"></div>
<div class="real cloned"></div>
<div class="real"></div>
<div class="real"></div>
现在,问题是我只想注册名为 "real" 而不是 "cloned" 的那些。问题是,如果我点击第一个 "real",它会说它是索引 2(这是真的,因为 2 个克隆的取 0、1),但我真的希望它只是 0,因为它是第一个在 class.
中只有 "real"我试过这个:
$(this).not('.cloned').index();
但它什么也没做。仍然 returns 相同并用它计算克隆。我以为只有 select 那些没有 "cloned" 作为 class,但我错了:)
希望有人能帮助我。很抱歉 post.
应该是:
$('.real:not(.cloned)').index(this);
// or
$('.real').not('.cloned').index(this);
//or
$(this).index('.real:not(.cloned)');
您可以使用 hasClass()
方法:
if (!$(this).hasClass('cloned')) {}