问答详情
源自:2-5 jQuery选择器之层级选择器

子选择器选择的是父元素的直接后代吗

<body>

<div>

<table>

<tr>

<td>123</td>

<td>456</td>

<td>789</td>

<td>111</td>

</tr>

<tr>

<td>gff</td>

<td>fhgf</td>

<td>fre</td>

<td>1gfh</td>

</tr></table>

</div></body>

<script type="text/javascript">

$(function(){

$('table>tr').remove();

})

</script></html>

以上代码为什么通过子选择器选中<table>的直接子元素<tr>然后移除没有效果?

提问者:慕雪1660579 2017-09-19 15:12

个回答

  • Ivana
    2017-09-19 16:53:04

    啊哦,我也是刚刚学完这一节,试了一下,用>好像确实没有移除,但是用$(“table tr”)是可以的,暂时不知道什么原因,莫非removeClass()对“>”这种支持?大家知道的话求告知= =不过上面的代码貌似还有些其它问题哈,我试的是这样子的:

    <!DOCTYPE html>
    <html>

    <head>
       <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
       <title></title>
       <style>
           .left,
           .right {
               width: 300px;
               height: 120px;
           }

           .left div,
           .right div {
               width: 200px;
               height: 90px;
               padding: 5px;
               margin: 5px;
               float: left;
           }
           a{
               font-size: 14px;
               display:block;
           }
           .newClass{
                background: #bbffaa;
            }

           .imoocClass{
               background: red;
           }
           .addBorder{
               border: 1px solid red;
           }

       </style>
       <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
    </head>
    <body>
    <div>
       <table>
           <tr class="imoocClass addBorder">
               <td>123</td>
               <td>456</td>
               <td>789</td>
               <td>111</td>
           </tr>
           <tr class="newClass imoocClass">
               <td>gff</td>
               <td>fhgf</td>
               <td>fre</td>
               <td>1gfh</td>
           </tr></table>
    </div>
    <script type="text/javascript">
       //$(function(){
           $('table tr').removeClass("imoocClass");//这句可以移除
           //$('table > tr').removeClass("imoocClass");//这句不可以
      // });
    </script>
    </body>
    </html>