2011-05-22 88 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