[英]jquery if statement to check if element is within a specific parent div
我的布局中有很多带有.button类的元素。 单击带有按钮类的元素后,我需要首先检查元素是否在box1或box2的父div中。
一个简短的例子是......如果点击的按钮在box1 div &&(另一个条件)内,那么就做点什么。 是否最好使用.closet和.length的组合来检查按钮是否在某个div内?
<div id="box1">
<div id="column1">
<div class="round_button"></div>
<div style="background: #000">
<div class="button"></div>
<div class="button"></div>
<div class="button"></div>
<div class="button"></div>
<div class="button"></div>
<div class="button"></div>
</div>
</div>
<div>
<div id="box2">
<div id="column2">
<div class="round_button"></div>
<div style="background: #000">
<div class="button"></div>
<div class="button"></div>
<div class="button"></div>
<div class="button"></div>
<div class="button"></div>
<div class="button"></div>
</div>
</div>
<div>
除了上面的答案,如果有多个按钮,而不是分别将事件绑定到每个按钮,您只需要附加一次,基于其祖先,您可以执行以下操作:
$(".button").click(function() {
if ($(this).is("#box1 *")) {}
});
如果两组按钮之间的功能差别很大,我只想在每组按钮上定义事件处理程序:
$('#box1 .button').on('click', function(event) {
// ...
});
$('#box2 .button').on('click', function(event) {
// ...
});
如果没有别的,你不需要if statement
。
$('#box1, #box2').find('.button').click(function() {
// do something
});
使用$(this).parents("#box1");
在按钮的单击事件功能内
$('#box1 .button').click(function() {
// first code
});
$('#box2 .button').click(function() {
// second code
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.