Javascript “如何检测”;“类”;从“点击”;分区;,有几个具有相同类名的项吗?
我有一个类似这样的场景Javascript “如何检测”;“类”;从“点击”;分区;,有几个具有相同类名的项吗?,javascript,jquery,html,Javascript,Jquery,Html,我有一个类似这样的场景 <div> <div class="check"> <p class="user-name"> <a href=url>name</a> </p> <i class="user-icon"></i> <div class="activity"> <p class="status">
<div>
<div class="check">
<p class="user-name">
<a href=url>name</a>
</p>
<i class="user-icon"></i>
<div class="activity">
<p class="status">Status</p>
<p class="stream">Stream</p>
</div>
</div>
<div class="check">
<p class="user-name">
<a href=url>name</a>
</p>
<i class="user-icon"></i>
<div class="activity">
<p class="status">Status</p>
<p class="stream">Stream</p>
</div>
</div>
</div>
而且,正如它所看到的,它不应该工作,因为它使用class
nameactivity
作用于所有div
s
而且我不能将类
名称更改为id
s,因为它们是通过另一个函数
自动填充的,并且通过css
进行样式设置和维护更容易
我希望它只作用于用户将单击的div
我怎样才能做到
谢谢:)事件处理程序将在触发它的元素的上下文中调用,因此只需使用
this
访问它
您可以将其与jQuery的
find
方法结合起来查找关联的子元素。您可以使用find selector在当前单击的div中查找活动元素:
$(".check").click(function(){
$(this).find('.activity').slideToggle();
});
只需正确选择它,并确保使用
.activity
而不是.user activity
(它不存在):
或
请在此处查看它的实际操作:
$(文档).ready(函数(){
$(“.check”)。单击(函数(){
$(“.activity”,this.slideToggle();
});
});代码>
.check.activity{display:none}
名称
状态
流
名称
状态
流
您也可以使用此:
$(document).ready(function(){
$(".check").click(function(){
$(this).children('.activity').slideToggle();
//OR you may also use $(this).find('.activity').slideToggle();
});
});
“用户活动”类在html中的什么位置?哦,对不起。“用户活动”将仅为“活动”。在为stackoverflow编辑时,我没有注意到这一点。非常感谢。在为stackoverflow编辑时,我没有注意到“用户活动”,感谢您指出这一点(问题编辑)。没问题,我认为这是一个打字错误,但仍然希望包含它,以便您可以看到我对live示例所做的所有更改。是的。谢谢你的例子:)
$(".activity", this).slideToggle();
$(this).find(".activity").slideToggle();
$(document).ready(function(){
$(".check").click(function(){
$(this).children('.activity').slideToggle();
//OR you may also use $(this).find('.activity').slideToggle();
});
});