可能重复:
How to select an element by class inside “this” in Jquery
我对jQuery更新......我认为这与使用'this'命令有关但不确定。
我有一个以编程方式创建几个div的页面:
<div class="moreinfolink">Click For More Information
<div class="moreinfotext">Additional Info Here</div>
</div>
因此页面上有几个.moreinfolink和.moreinfotext类。
我使用此代码切换显示moreinfotext div:
$('.moreinfolink').click(function() {
$('.moreinfotext').toggle('slow', function() {
});
但是这显然会对页面上存在的所有moreinfotext div进行切换。
两个问题: 如何为父moreinfolink div中的特定子div做到这一点? 有没有比我要去的方向更好的方法?
谢谢!
答案 0 :(得分:8)
你可以使用.find
(正如@FelixKling建议的那样):
$('.moreinfolink').click(function() {
$(this).find('.moreinfotext').toggle('slow', function() { ... });
});
答案 1 :(得分:1)
这个小提琴告诉你如何做到这一点:http://jsfiddle.net/ZAwTL/
或this fiddle,显示直接调用find()
方法,如Felix Kling所示。
示例HTML
<div class="moreinfolink">Click For More Information
<div class="moreinfotext">Additional Info Here</div>
</div>
<br>
<br>
<div class="moreinfolink">Click For More Information
<div class="moreinfotext">Additional Info Here</div>
</div>
<br>
<br>
<div class="moreinfolink">Click For More Information
<div class="moreinfotext">Additional Info Here</div>
</div>
<强>的JavaScript 强>
$('.moreinfolink').click(function() {
$(this).find('.moreinfotext').toggle('slow', function() { });
});
答案 2 :(得分:1)
$('.moreinfolink').click(function() {
$(this).children('.moreinfotext').slideToggle('slow');
});
我删除了你所拥有的空函数...要么没有提供足够的信息来支持它,要么是错误的。