jQuery基于复选框隐藏父div
我有以下代码: 我需要隐藏以.wpbdplisting开头的div,而不是隐藏.listing details css类 我该怎么办jQuery基于复选框隐藏父div,jquery,css,Jquery,Css,我有以下代码: 我需要隐藏以.wpbdplisting开头的div,而不是隐藏.listing details css类 我该怎么办 谢谢。您可以使用在JQuery中获取元素的父元素 可以使用获取JQuery中元素的父元素 要获取父节点,不管它有多深,请使用.nextest jquery方法 $(".listing-details > div").closest('.wpbdp-listing').hide() 查看doc要获取父节点,无论它有多深,请使用.closest jquery方
谢谢。您可以使用在JQuery中获取元素的父元素
可以使用获取JQuery中元素的父元素
要获取父节点,不管它有多深,请使用.nextest jquery方法
$(".listing-details > div").closest('.wpbdp-listing').hide()
查看doc要获取父节点,无论它有多深,请使用.closest jquery方法
$(".listing-details > div").closest('.wpbdp-listing').hide()
看看doc,最好把东西分开并清理干净:我的意思是我们可以有一个函数来做任何事情,因此我们可以随时调用它。我的意思是在DOM加载后调用它,然后在复选框更改时调用它
ToggleThings();
$("#filters :checkbox").change(function() {
ToggleThings();
});
function ToggleThings()
{
$(".wpbdp-listing").hide();
$("#filters :checkbox:checked").each(function() {
$('.' + $(this).val()).closest('.wpbdp-listing').show();
});
}
更新最终解决方案:
最好把东西分开并清理干净:我的意思是我们可以有一个函数来做任何事情,因此我们可以随时调用它。我的意思是在DOM加载后调用它,然后在复选框更改时调用它
ToggleThings();
$("#filters :checkbox").change(function() {
ToggleThings();
});
function ToggleThings()
{
$(".wpbdp-listing").hide();
$("#filters :checkbox:checked").each(function() {
$('.' + $(this).val()).closest('.wpbdp-listing').show();
});
}
更新最终解决方案:
请尝试此代码,并在
我添加了$.wpbdp-listing.hide只是为了开始它,所以div是隐藏的,因为首先复选框是未选中的。您也可以先选中复选框,然后删除该行。尝试此代码,然后在
我添加了$.wpbdp-listing.hide只是为了开始它,所以div是隐藏的,因为首先复选框是未选中的。您也可以先选中复选框,然后删除该行。非常感谢。如何使它们在默认情况下全部显示,并且在未选中复选框时全部显示?您可以在第一行添加注释,这样它们将显示在StartAll上,您可以执行以下操作:$.wpbdp-listing.show;它们会发光:再次感谢@george garchagudashvili我尝试过添加一个语句,如果$filters输入:checkbox:checked.length>0{//Do nothing}其他{$.wpbdp-listing.show;}但是没有运气?如果没有选中复选框,我希望它默认返回显示所有这些代码。您将代码放在哪里?你可以更新我的Fiddle版本,非常感谢。如何使它们在默认情况下全部显示,并且在未选中复选框时全部显示?您可以在第一行添加注释,这样它们将显示在StartAll上,您可以执行以下操作:$.wpbdp-listing.show;它们会发光:再次感谢@george garchagudashvili我尝试过添加一个语句,如果$filters输入:checkbox:checked.length>0{//Do nothing}其他{$.wpbdp-listing.show;}但是没有运气?如果没有选中复选框,我希望它默认返回显示所有这些代码。您将代码放在哪里?你可以更新我的小提琴版本
ToggleThings();
$("#filters :checkbox").change(function() {
ToggleThings();
});
function ToggleThings()
{
var checkedboxes = $("#filters :checkbox:checked");
if (checkedboxes.length > 0)
{
$(".wpbdp-listing:visible").hide();
checkedboxes.each(function() {
$('.' + $(this).val()).closest('.wpbdp-listing').show();
});
}
else
{
$(".wpbdp-listing").show();
}
}
$(".wpbdp-listing").hide()
$("#filters :checkbox").change(function() {
$(".listing-details ." + $(this).val()).parents('.wpbdp-listing').hide();
$("#filters :checkbox:checked").each(function() {
$(".listing-details ." + $(this).val()).parents('.wpbdp-listing').show();
});
});