3

我正在使用以下 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 按钮时让它们淡出。

这是我到目前为止所尝试的:

$(".contain").each(function(){
    $(this).fadeOut(1000);
});

but it didnt work also i tried: 
$(".contain").children(function(){
    $(this).fadeOut(1000);
});

这里的结果相同。

我究竟做错了什么?我只需要fadeOut内容<div id="contain">并保持其他所有内容不变。

4

2 回答 2

3

你需要使用:

$("#contain").children().fadeOut(1000);

您的尝试是错误的,因为:

$(".contain").each(function(){ $(this).fadeOut(1000); });

选择所有具有类的元素.contain并隐藏它们

$(".contain").children(function(){ $(this).fadeOut(1000); });

选择带有 class 的元素.contain,然后传递一个.children()它不处理的函数。

请注意,在您的情况下contain是 ID 而不是类。

于 2013-04-04T22:02:07.887 回答
1

旁边挂着“。” 以 "#" 形式形成 jquery 选择器,如果您不需要插入任何其他内容或在其中显示新内容<div id="contain">,您可以这样做

$("#contain").fade(1000);  

所有的孩子也会褪色

于 2013-04-04T22:22:34.027 回答