jQuery删除IE6的问题

时间:2010-08-12 12:21:30

标签: jquery internet-explorer-6

我知道,我知道,IE6是魔鬼,但我别无选择,只能在这个项目上使用它。当我尝试删除父div时,它可以在除IE之外的每个浏览器中工作(尚未在其他版本中检查)。 知道为什么吗? - 刚刚添加了一些HTML

$('a#remove-product'+i).click(function(event){
    $(this).parent('.product').remove();
    i--;
});




    <div class="product" id="product1">
        <h2>Product 1</h2>
        <div class="info-line">
        <label>Division</label>
        <p><select id="selection-1">
          <option value="">- Select a Division -</option>
          <option value="abrasives">Abrasives</option>
          <option value="tapes">Bonding, Surface Protection &amp; Tapes</option>
          <option value="packaging">Packaging</option>
        </select></p>
        <a id="remove-product1" href="#add-product" class="remove">Remove Product</a></div>
    </div>

2 个答案:

答案 0 :(得分:2)

您何时运行此代码? IE应该没有任何特殊问题,除非它不在document.ready中,在这种情况下你需要像这样包装它:

$(function() {
  $('a#remove-product'+i).click(function(event){
    $(this).parent('.product').remove();
    i--;
  });
});

或者,如果IE认为它不是父母,那么您可能需要.closest()而不是.parent()

在任何一种情况下粘贴HTML都会更有帮助,但这些是与IE相关的非常常见的问题,即使在IE版本中也没有做过标准的事情。

答案 1 :(得分:-1)

可能值得一提的是,您将通过使用bind()而不是click()来避免一些问题,例如:

$('.someElement').bind('click', function(){
  SomeFunction(); //or any code for that matter
})