2011-05-22 107 views
1

所有在Firefox/Chrome /等工作。但在IE7 & IE8我收到错误的jQuery .remove()(v = 1.5.2)函数。 IE的错误是:IE7/IE8 Javascript错误jQuery .remove()

var add_term = $(this).text(); 
var new_list_element = $('<li><span><input name="med[' + count + ']" class = "new_med_field" value="' +add_term +'" readonly="readonly"></span></li>').hide(); 
$('div#create_right form ul').append(new_list_element); 

然后我试图删除同一元素(上单击)使用以下:

Object does not support this property or method. 

列表元素被使用下面的代码通过jQuery产生

var $tgt =''; 
$('#create_right form').click(function(event){ 
    $tgt = $(event.target); 
    //Remove different portions depending on which element is selected 
    if ($tgt.is('li') || $tgt.is('span') || tgt.is('input[class="new_med_field"]')) { 
     $tgt.closest('li').remove(); 
     count--;   
    } 
}); 

链接到网站:http://refillwizardstage.heroku.com/refill/create

+2

这是什么版本的jQuery? – Pointy 2011-05-22 19:21:06

+1

这些项目在IE8中添加和删除我的罚款 – mpen 2011-05-22 19:25:56

+1

您的'if'和'else'分支包含完全相同的代码。 – Tomalak 2011-05-22 19:41:55

回答

1

我认为这个问题是你正在使用event.target。尝试仅使用$tgt = $(this)var crossBrowserTarget = event.target ? event.target : event.srcElement; $tgt = $(crossBrowserTarget);

+0

认为它有一个机会,但仍然没有工作... – 2011-05-22 22:23:14

2

我想说这是一个错误。有一个未处理的异常声音,它只发生在不支持querySelectorAll的浏览器中(如IE7或兼容模式下的IE8 +)。

类型的属性处理程序接收不是元素节点的参数(在这种情况下,它是一个DOMDocumentFragment,看起来像删除节点的副本,它没有方法getAttribute)。

只要你的函数看起来像预期的那样工作,你可能会发现这个错误。

把嵌入的jquery.js文件后,这一权利:

<script> 
jQuery.find.selectors.attrHandle.type=function(elem) { 
     try{return elem.getAttribute("type");}catch(e){return'';} 
    } 
</script> 

(当然,这不是一个真正正确的方法,但我不能告诉你为什么这个调用与DocumentFragment的发生,也许别人!将它找出来)

+0

你的建议代码在IE中处理异常,但我不太确定你的代码在做什么。这个代码是否可以处理所有的异常,或者只是这个特定的? – 2011-05-23 03:51:12

+0

只有当sizzle的attrHandle:type-function会收到一个不是元素节点的参数时才会发生这种情况。 – 2011-05-23 05:45:37

+0

看起来这个错误是由选择器'form按钮:not([type])'由rails.js,第181行引起的。不幸的是,我不能告诉你更多,我不熟悉轨道:( – 2011-05-24 07:23:13

0

例如:

[在这里输入的形象描述] [1]

与 “ '项目'。$()删除();”它不适用,但使用“$('#bgright')。children()。remove();” 这是因为IE8或lt不支持querySelectorAll,但它在某些特殊情况下得到了支持。

enter code here:<section id="bgright"> 
         <div class="item"></div> 
         <div class="item"></div> 
       </section> 
+0

图像路径丢失,不是吗? – 2012-10-22 10:26:54