Select 除了 $(this)
Select all except $(this)
我有以下代码
$('.radio-box').click(function() {
$(this).parents('.container-radio-box').find('.select').removeClass('state-active');
}
我正在尝试获取它,以便它找到被点击的 .radio-box
元素,寻找它包含的元素 — .container-radio-box
— 然后从任何 [=16] 中删除活动状态=]里面的元素。
我觉得我可以使用类似
的东西
$('.radio-box').not(this).each(function() {
然而,它有点复杂,因为有许多 .container-radio-box
个元素,它们都需要在 div 中单独处理。例如。脚本仅应修改所单击 .radio-box
的包含 div 中的 .select
元素。
有谁知道我怎样才能做到这一点?
编辑:
我已经像这样修改了我的脚本:
// radio-box
$('.radio-box').click(function() {
$(this).parents('.container-radio-box').find('.radio-box').removeClass('state-active');
var el = this;
$(this).parents('.container-radio-box')
.find('.select')
.filter(function(index){
return this != el;
})
.removeClass('state-active');
$(this).find('input').prop( "checked", true );
$(this).addClass('state-active');
});
并且还在此处上传了页面,以便您了解它是如何工作的 — http://www.mattpealing.co.uk/_concept/brdcr/form/
我正在尝试获取它,以便左列中的 .select
元素可以保持选中状态 直到 其他列之一被选中,在这种情况下活动状态已删除。
但似乎单击左列也会从其中包含的 .select
元素中删除活动状态
您可以过滤集合并比较 DOM 个元素:
var el = this;
$(this).parents('.container-radio-box')
.find('.select')
.filter(function(index){
return this != el;
})
.removeClass('state-active');
让 jQuery 为您完成艰苦的工作 - select 被点击的 .radio-box
的兄弟姐妹,并且只搜索其中的 .select
个元素:
$('.radio-box').click(function() {
// Deselect all radio boxes
$(this).parents('.container-radio-box').find('.radio-box').removeClass('state-active');
// Remove active state from inner options in other radio boxes
$(this).siblings()
.find('.select')
.removeClass('state-active');
// Select this radio box
$(this).find('input').prop( "checked", true );
$(this).addClass('state-active');
});
我有以下代码
$('.radio-box').click(function() {
$(this).parents('.container-radio-box').find('.select').removeClass('state-active');
}
我正在尝试获取它,以便它找到被点击的 .radio-box
元素,寻找它包含的元素 — .container-radio-box
— 然后从任何 [=16] 中删除活动状态=]里面的元素。
我觉得我可以使用类似
的东西$('.radio-box').not(this).each(function() {
然而,它有点复杂,因为有许多 .container-radio-box
个元素,它们都需要在 div 中单独处理。例如。脚本仅应修改所单击 .radio-box
的包含 div 中的 .select
元素。
有谁知道我怎样才能做到这一点?
编辑: 我已经像这样修改了我的脚本:
// radio-box
$('.radio-box').click(function() {
$(this).parents('.container-radio-box').find('.radio-box').removeClass('state-active');
var el = this;
$(this).parents('.container-radio-box')
.find('.select')
.filter(function(index){
return this != el;
})
.removeClass('state-active');
$(this).find('input').prop( "checked", true );
$(this).addClass('state-active');
});
并且还在此处上传了页面,以便您了解它是如何工作的 — http://www.mattpealing.co.uk/_concept/brdcr/form/
我正在尝试获取它,以便左列中的 .select
元素可以保持选中状态 直到 其他列之一被选中,在这种情况下活动状态已删除。
但似乎单击左列也会从其中包含的 .select
元素中删除活动状态
您可以过滤集合并比较 DOM 个元素:
var el = this;
$(this).parents('.container-radio-box')
.find('.select')
.filter(function(index){
return this != el;
})
.removeClass('state-active');
让 jQuery 为您完成艰苦的工作 - select 被点击的 .radio-box
的兄弟姐妹,并且只搜索其中的 .select
个元素:
$('.radio-box').click(function() {
// Deselect all radio boxes
$(this).parents('.container-radio-box').find('.radio-box').removeClass('state-active');
// Remove active state from inner options in other radio boxes
$(this).siblings()
.find('.select')
.removeClass('state-active');
// Select this radio box
$(this).find('input').prop( "checked", true );
$(this).addClass('state-active');
});