Javascript jQuery和单击的元素中的第一个元素
我有2个div元素,如果我单击第一个div,那么应该显示单击的div中的另一个div,但我不知道它是谁工作的,我的jquery代码是这样的:Javascript jQuery和单击的元素中的第一个元素,javascript,jquery,html,Javascript,Jquery,Html,我有2个div元素,如果我单击第一个div,那么应该显示单击的div中的另一个div,但我不知道它是谁工作的,我的jquery代码是这样的: jQuery('.infobutton').click(function(){ var clickedID = jQuery(this).attr('id'); jQuery(clickedID).children('div').toggle(); }); <div class="infobutton" id="infobtn1"
jQuery('.infobutton').click(function(){
var clickedID = jQuery(this).attr('id');
jQuery(clickedID).children('div').toggle();
});
<div class="infobutton" id="infobtn1">
<div class="content">some content</div>
</div>
jQuery('.infobutton')。单击(函数(){
var clickedID=jQuery(this.attr('id');
jQuery(clickedID).children('div').toggle();
});
一些内容
我每次都获得了正确的id,我还尝试了.first()
,.parent()
,.children('.content')
使用jQuery可以做到这一点吗?在事件处理程序内部
这将引用处理程序所附加到的元素
jQuery('.infobutton').click(function(){
jQuery(this).children('.content').toggle();
});
演示:使用
此
引用事件中的当前元素
您的代码将作为
使用jQuery(“#”+clickedID)
而不是jQuery(clickedID)
假设您有如下HTML:
<div id="container" class="infobutton">
Some content
<div>Some other content</div>
</div>
使用classinfobutton
查找元素,并指定单击处理程序。这个很好用
var clickedID = jQuery(this).attr('id');
将该元素的id
放入变量单击edid
。clickedID
的值现在是container
jQuery(clickedID).children('div').toggle();
在单击edid
上运行jQuery选择器我们遇到了问题。这可以归结为jQuery('container')
。这将查找标记名为container
的元素,而不是ID为container
的元素
jQuery(clickedID).children('div').toggle();
事实上,解决所有这些问题的办法是根本不使用ID。相反,您可以使用this
构建jQuery对象,它是对单击元素的引用:
jQuery('.infobutton').click(function(){
jQuery(this).children('div').toggle();
});
某些内容$(“infobtn1”)
不是按ID选择元素的正确选择器。
jQuery('.infobutton').click(function(){
jQuery(this).children('div').toggle();
});