IE7上的jquery remove方法问题?

时间:2013-09-17 04:00:26

标签: javascript jquery html

<table class="myCustomers">
 <tbody>
   <tr>
     <td>
       <ul id="salesCustomers">
       <li title="cust 1"><a id="cust_1" >customer 1</a></li>
       <li title="cust 2"></li>
       </ul>
     </td>
   </tr>
 </tbody>

当我在IE 7下面进行操作时,对应于“customer 1”的DOM元素将从容器“salesCustomers”中删除但是 删除元素后,“salesCustomers”容器会被调整(我的意思是IE 7显示空格代替它)

  $('#cust_1').remove();

它在IE8,9,firefox,chrome上工作正常但在IE 7上没有?

更新: -

CSS部分

table.myCustomers li {
    margin: 8px;
}

table.myCustomers li a {
    text-decoration: none;
}

a {
    color: #000000;
    margin: 3px;
}

2 个答案:

答案 0 :(得分:2)

此代码

  $('#cust_1').remove();

只会删除标记<a id='cust1'>customer1</a>标记。其周围的<li>标记仍在DOM中。如果您的CSS为<li>元素指定了一些高度,它仍会显示为空格。

答案 1 :(得分:0)

空白空间可能是因为li仍在那里。 (正如Jayraj所指出的那样)

如果您想删除与li对应的#cust_1

你有几种方法可以做到,

  1. $("[title='cust 1']").remove();
  2. $("#cust_1").parents("li").remove(); //this will remove the child element as well
  3. Test link