Javascript 使用jquery按类隐藏同一父级中的元素
以下面的html为例:Javascript 使用jquery按类隐藏同一父级中的元素,javascript,jquery,dom,onclick,Javascript,Jquery,Dom,Onclick,以下面的html为例: <div class="box"> <a href="javascript:;" onclick="toggle_content(1)">Toggle</a> <h2>Some Title</h2> <div class="box_content box_content_1"></div> <div class="box_content box_content_2"></
<div class="box">
<a href="javascript:;" onclick="toggle_content(1)">Toggle</a>
<h2>Some Title</h2>
<div class="box_content box_content_1"></div>
<div class="box_content box_content_2"></div>
</div>
<div class="box">
<a href="javascript:;" onclick="toggle_content(1)">Toggle</a>
<h2>Some Title</h2>
<div class="box_content box_content_1"></div>
<div class="box_content box_content_2"></div>
</div>
<script>
function toggle_content(key){
$('.box_content_'+key,$(this).parent()).toggle();
}
</script>
一些头衔
一些头衔
功能切换_内容(键){
$('.box\u content\u'+键,$(this.parent()).toggle();
}
基本上,单击toggle链接时,我希望toggle元素位于具有匹配类名的同一父级中。上面的代码似乎没有任何作用。$(this).parent()
没有提及您认为它的作用。在这种情况下,这个
是什么?窗户
以下工作将起作用:
$('.box_content_'+key,".box").toggle();
不过,我会这样做:
HTML
$(this).parent()
并不是指您认为它做了什么。在这种情况下,这个
是什么?窗户
以下工作将起作用:
$('.box_content_'+key,".box").toggle();
不过,我会这样做:
HTML
在使用jQuery时,可以使用jQuery
单击和同级()方法,请尝试以下操作:
获取匹配元素集中每个元素的同级,可选地通过选择器进行筛选
您可以使用data=*
属性来选择锚点的目标元素:
<div class="box">
<a href="#" data-toggle="1">Toggle</a>
<h2>Some Title</h2>
<div class="box_content box_content_1"></div>
<div class="box_content box_content_2"></div>
</div>
<div class="box">
<a href="#" data-toggle="2">Toggle</a>
<h2>Some Title</h2>
<div class="box_content box_content_1"></div>
<div class="box_content box_content_2"></div>
</div>
在使用jQuery时,您可以使用jQuery单击
和同级()
方法,请尝试以下操作:
获取匹配元素集中每个元素的同级,可选地通过选择器进行筛选
您可以使用data=*
属性来选择锚点的目标元素:
<div class="box">
<a href="#" data-toggle="1">Toggle</a>
<h2>Some Title</h2>
<div class="box_content box_content_1"></div>
<div class="box_content box_content_2"></div>
</div>
<div class="box">
<a href="#" data-toggle="2">Toggle</a>
<h2>Some Title</h2>
<div class="box_content box_content_1"></div>
<div class="box_content box_content_2"></div>
</div>
试试这个
HTML
<div class="box">
<a href="javascript:;" onclick="toggle_content(1,$(this))">Toggle</a>
<h2>Some Title</h2>
<div class="box_content box_content_1">a</div>
<div class="box_content box_content_2">b</div>
</div>
<div class="box">
<a href="javascript:;" onclick="toggle_content(2,$(this))">Toggle</a>
<h2>Some Title</h2>
<div class="box_content box_content_1">a</div>
<div class="box_content box_content_2">b</div>
</div>
试试这个
HTML
<div class="box">
<a href="javascript:;" onclick="toggle_content(1,$(this))">Toggle</a>
<h2>Some Title</h2>
<div class="box_content box_content_1">a</div>
<div class="box_content box_content_2">b</div>
</div>
<div class="box">
<a href="javascript:;" onclick="toggle_content(2,$(this))">Toggle</a>
<h2>Some Title</h2>
<div class="box_content box_content_1">a</div>
<div class="box_content box_content_2">b</div>
</div>
我有答案给你
HTML:
<div class="box">
<a href="javascript:toggle_content(1);">Toggle</a>
<h2>Some Title</h2>
<div class="box_content box_content_1">1</div>
<div class="box_content box_content_2">2</div>
</div>
function toggle_content(key) {
$('.box_content_' + key).toggle();
}
我有答案给你
HTML:
<div class="box">
<a href="javascript:toggle_content(1);">Toggle</a>
<h2>Some Title</h2>
<div class="box_content box_content_1">1</div>
<div class="box_content box_content_2">2</div>
</div>
function toggle_content(key) {
$('.box_content_' + key).toggle();
}
您可以在toggle\u content
中使用
您可以在切换内容
中设置此
的上下文,方法是使用
@yckart我已经修改了我的问题,以便更清楚地了解情况。好的,谢谢!我不知道你到底是什么意思…顺便说一句,不要在html标记中硬编码脚本。尝试将脚本放在一个单独的文件中,并通过使用click()
、on()
、bind()
或degate()
来附加事件,尽管自jQuery 1.7以来,on()
是首选选项。这将使您的html保持整洁。@yckart我已修改了我的问题,使其更清楚地了解情况。好的,谢谢!我不知道你到底是什么意思…顺便说一句,不要在html标记中硬编码脚本。尝试将脚本放在一个单独的文件中,并通过使用click()
、on()
、bind()
或degate()
来附加事件,尽管自jQuery 1.7以来,on()
是首选选项。这将使您的html保持整洁。这也将切换同一父级之外的任何其他元素,其类为.box\u content\u x
。OP仅请求同一父级内的元素。这也将切换同一父级外类为.box\u content\u x
的任何其他元素。OP只请求同一父级中的元素。抱歉,这不起作用,请参阅我修改的示例。有可能存在多个.box和.box\u内容\u 1。我还以为这是被点击的项目呢。@David我要做的第一件事就是告诉你为什么你尝试的东西不起作用。我的回答的后半部分是你想要的。对不起,这行不通,请看我修改过的示例。有可能存在多个.box和.box\u内容\u 1。我还以为这是被点击的项目呢。@David我要做的第一件事就是告诉你为什么你尝试的东西不起作用。我的回答的后半部分是你想要的。这似乎不能解释OP问题的动态要素。他在传递一个你硬编码的参数。@j08691这很有趣,你总是有理由对我的答案投反对票:)我很少对答案投反对票,句号。你原来的回答不完整。我已经删除了否决票。@j08691是的,这是合理的。这似乎不能解释OP问题的动态因素。他在传递一个你硬编码的参数。@j08691这很有趣,你总是有理由对我的答案投反对票:)我很少对答案投反对票,句号。你原来的回答不完整。我已经取消了否决票。@j08691是的,这是合理的。
onclick="toggle_content.call(this, 1)"