Выделение всех дочерних элементов и их исчезновение с помощью jQuery?
Я использую следующий код HTML:
<!DOCTYPE html>
<html>
<head>
<title>Project Quiz</title>
<link rel="stylesheet" type="text/css" href="z/baseCss.CSS">
<script src="/jquery-1.9.1.min.js"></script>
<script src="/baseJS.js"></script>
</head>
<body>
<div id=header></div>
<div id=contain>
<h1>Welcome to my web application</br>
Please enter your name, click 'continue' and have fun</h1>
<form>
<input type="text" id="name" value="John Doe"/>
</form>
<div class="awesome">Continue</div><br/>
</div>
<div id=footer></div>
</body>
</html>
и код jQuery:
$(document).ready(function(){
$("input")
.focus(function(){
$(this).css('outline-color','#559FFF');
$(this).blur(function(){
$(this).css("outline-color","#FF0000");
});
});
$("input").click(function(){
var value = $(this).val(function(){
$(this).html("");
});
});
$(".awesome").click(function(){
b._slide(1000);
});
var b = $("div:nth-child(2)");
alert(b);
});
Моя проблема в том, что я не могу понять, как выбрать всех детей <div id="contain">
и просто заставляю их исчезать, когда я нажимаю кнопку "div" с классом "awesome".
Это то, что я пробовал до сих пор:
$(".contain").each(function(){
$(this).fadeOut(1000);
});
but it didnt work also i tried:
$(".contain").children(function(){
$(this).fadeOut(1000);
});
Тот же результат здесь.
Что я делаю неправильно? Мне нужно только fadeOut
содержание <div id="contain">
и оставь все остальное таким же, как оно есть.
2 ответа
Вам необходимо использовать:
$("#contain").children().fadeOut(1000);
$(this)
ваш селектор.children()
выбирает всех дочерних элементов.fadeOut(1000)
затухает текущий выбор
Ваши попытки были неверны, потому что:
$(".contain").each(function(){ $(this).fadeOut(1000); });
Выбирает все элементы с классом .contain
и прячет их
$(".contain").children(function(){ $(this).fadeOut(1000); });
Выбирает элементы с классом .contain
, а затем вы передаете функцию .children()
с которым он не справляется.
Обратите внимание, в вашем случае contain
это идентификатор, а не класс.
Кроме изменения "." "#" сформировать селектор jquery, если вам не нужно ничего вставлять или отображать новый контент в <div id="contain">
, вы можете просто сделать это
$("#contain").fade(1000);
все ребенок тоже исчезнет