gpt4 book ai didi

javascript - 根据数据属性显示/隐藏 Div

转载 作者:行者123 更新时间:2023-12-03 05:55:54 25 4
gpt4 key购买 nike

我试图隐藏具有特定数据属性的元素,但这样做时遇到问题。在这种情况下,我试图根据按钮用户点击来隐藏交易或优惠券。还尝试根据“显示全部”来显示所有内容。

有人可以帮我解决我做错的事情吗?

代码在这里

function showdeals(dealtype) {
if (dealtype == "all") {
$('div[data-deal-type="deal"]').show();
$('div[data-deal-type="coupon"]').show();

}
if (dealtype == "deal") {
$('div[data-deal-type="deal"]').hide();
$('div[data-deal-type="coupon"]').show();
}
else if (dealtype == "coupon") {
$('div[data-deal-type="deal"]').show();
$('div[data-deal-type="coupon"]').hide();
}
}
<button onclick="showdeals('all')">
Show All
</button>
<button onclick="showdeals('deal')">
Show Deals
</button>
<button onclick="showdeals('coupon')">
Show coupons
</button>




<div id="536739" class="coupon-modal" data-deal-type="coupon" data-discount-type="data-coupon-rank=" xxx=""> Coupon1 </div>

<div id="536738" class="coupon-modal" data-deal-type="coupon" data-discount-type="data-coupon-rank=" xxx=""> coupon2 </div>

<div id="536737" class="coupon-modal" data-deal-type="deal" data-discount-type="data-coupon-rank=" xxx=""> Deal1 </div>

<div id="536736" class="coupon-modal" data-deal-type="deal" data-discount-type="data-coupon-rank=" xxx=""> deal2 </div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

最佳答案

你只是条件落后了。当您应该显示优惠时,您却隐藏了它们,反之亦然,优惠券也是如此。

if (dealtype == "all") {
$('div[data-deal-type="deal"]').show();
$('div[data-deal-type="coupon"]').show();
}
if (dealtype == "deal") {
$('div[data-deal-type="deal"]').hide(); // Should show
$('div[data-deal-type="coupon"]').show(); // Should hide
}
else if (dealtype == "coupon") {
$('div[data-deal-type="deal"]').show(); // Should hide
$('div[data-deal-type="coupon"]').hide(); // Should show
}

(您可以使用另一个else,尽管这并不重要。)

也就是说,您可以做得更简单:

function showdeals(dealtype) {
$('div[data-deal-type="deal"]').toggle(
dealtype == "all" || dealtype == "deal"
);
$('div[data-deal-type="coupon"]').toggle(
dealtype == "all" || dealtype == "coupon"
);
}

function showdeals(dealtype) {
$('div[data-deal-type="deal"]').toggle(
dealtype == "all" || dealtype == "deal"
);
$('div[data-deal-type="coupon"]').toggle(
dealtype == "all" || dealtype == "coupon"
);
}
<button onclick="showdeals('all')">
Show All
</button>
<button onclick="showdeals('deal')">
Show Deals
</button>
<button onclick="showdeals('coupon')">
Show coupons
</button>




<div id="536739" class="coupon-modal" data-deal-type="coupon" data-discount-type="data-coupon-rank=" xxx="">Coupon1</div>

<div id="536738" class="coupon-modal" data-deal-type="coupon" data-discount-type="data-coupon-rank=" xxx="">coupon2</div>

<div id="536737" class="coupon-modal" data-deal-type="deal" data-discount-type="data-coupon-rank=" xxx="">Deal1</div>

<div id="536736" class="coupon-modal" data-deal-type="deal" data-discount-type="data-coupon-rank=" xxx="">deal2</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

关于javascript - 根据数据属性显示/隐藏 Div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39930481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com