jq点击事件失效 事件问题

box属于隐藏消失的,点击eject弹出box。body增加hid。
然后点击关闭要把body的hid去掉的,但是现在没有去掉hid。这是事件哪里出了问题

<script type="text/javascript">
$(".eject").click(function(event) {
  $(".trol").addClass('hid');
});
$(".close").click(function(event) {
  $(".trol").removeClass('hid');
});
script>

<body class="trol">
<a href="javascript:void(0)" class="eject">点击a>

<div class="box">
   <a class="close">关闭a>
111111
div>
body>

我测试 正常啊

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
    <title> 页面名称 </title>
<style type="text/css">
    .hid {
        background-color: #999;
    }
</style>
</head>
<body>
<body class="trol">
<a href="javascript:void(0)" class="eject">点击</a>
 
<div class="box">
   <a href="javascript:void(0)" class="close">关闭</a>
111111
</div>

<script type="text/javascript" src="http://libs.baidu.com/jquery/1.11.1/jquery.min.js"></script>

<script type="text/javascript">
$(".eject").click(function(event) {
  $(".trol").addClass('hid');
});
$(".close").click(function(event) {
  $(".trol").removeClass('hid');
});
</script>
 
</body>
</html>

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

把你的a标签写好

$(".xxx") 是以类名来获取标签元素的(即返回所有具有相同类名的标签数组),假设你页面有两个标签呢?所以你还得在获取了标签数组后,通过下标选择对应的标签,比如:

<script type="text/javascript">
$(".eject")[0].click(function(event) {
  $(".trol")[0].addClass('hid');
});
$(".close")[0].click(function(event) {
  $(".trol")[0].removeClass('hid');
});
</script>

有没有报错呢