如何使用 $(this) 同时淡出两个子元素
How to fadeOut two children elements simultaneously using $(this)
我有一个 div,其中有 3 个按钮。我期望的是,当我单击第 3 个按钮时,第 2 个和第 3 个按钮应该淡出...但实际上,只有第 3 个按钮在淡出...为什么会这样?
这是我的代码
<div id="bttns">
<button class="btn btn-danger"> Delete </button> //1st Button
<button class="btn btn-warning"> Modify </button> //2nd Button
<button class="btn btn-success"> Complete </button> //3rd Button
</div>
这里是 jQuery
$(".btn-success").on("click", function(){
$( $(this) , $(this).parent().children(".btn-warning") ).fadeOut(500)
})
我找不到与我的问题类似的问题...而且我对这一切都不熟悉,所以如果您确实发现存在这样的问题,请将我重定向到它。
您仅淡出带有 btn 警告的按钮 class。而是使用两个选择器。
$(".btn-success").on("click", function(){
$(this).parent().children(".btn-warning, .btn-success").fadeOut(500)
})
发生这种情况是因为:
$( $(this) , $(this).parent().children(".btn-warning") )
这不是有效的选择器。要链接多个 jQuery 对象,您可以使用 .add()
方法,然后在集合上调用 .fadeOut(500)
,例如:
$(".btn-success").on("click", function() {
var $btn3 = $(this);
var $btn2 = $(this).parent().children(".btn-warning");
$btn2.add($btn3).fadeOut(500)
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="bttns">
<button class="btn btn-danger"> Delete </button>
<button class="btn btn-warning"> Modify </button>
<button class="btn btn-success"> Complete </button>
</div>
正如您分配的那样 类。你可以这样走:-
$(".btn-success").on("click", function () {
$('.btn-warning, .btn-success').fadeOut(500);
})
我有一个 div,其中有 3 个按钮。我期望的是,当我单击第 3 个按钮时,第 2 个和第 3 个按钮应该淡出...但实际上,只有第 3 个按钮在淡出...为什么会这样?
这是我的代码
<div id="bttns">
<button class="btn btn-danger"> Delete </button> //1st Button
<button class="btn btn-warning"> Modify </button> //2nd Button
<button class="btn btn-success"> Complete </button> //3rd Button
</div>
这里是 jQuery
$(".btn-success").on("click", function(){
$( $(this) , $(this).parent().children(".btn-warning") ).fadeOut(500)
})
我找不到与我的问题类似的问题...而且我对这一切都不熟悉,所以如果您确实发现存在这样的问题,请将我重定向到它。
您仅淡出带有 btn 警告的按钮 class。而是使用两个选择器。
$(".btn-success").on("click", function(){
$(this).parent().children(".btn-warning, .btn-success").fadeOut(500)
})
发生这种情况是因为:
$( $(this) , $(this).parent().children(".btn-warning") )
这不是有效的选择器。要链接多个 jQuery 对象,您可以使用 .add()
方法,然后在集合上调用 .fadeOut(500)
,例如:
$(".btn-success").on("click", function() {
var $btn3 = $(this);
var $btn2 = $(this).parent().children(".btn-warning");
$btn2.add($btn3).fadeOut(500)
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="bttns">
<button class="btn btn-danger"> Delete </button>
<button class="btn btn-warning"> Modify </button>
<button class="btn btn-success"> Complete </button>
</div>
正如您分配的那样 类。你可以这样走:-
$(".btn-success").on("click", function () {
$('.btn-warning, .btn-success').fadeOut(500);
})