gpt4 book ai didi

javascript - jQuery .remove() 上的 IE7/IE8 Javascript 错误

转载 作者:行者123 更新时间:2023-11-30 13:32:54 26 4
gpt4 key购买 nike

Firefox/Chrome/等一切正常。但在 IE7 和 IE8 中,jQuery .remove() (v=1.5.2) 函数出现错误。 IE错误是:

Object does not support this property or method.

列表元素是使用以下代码通过 jQuery 生成的:

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);

然后我尝试使用以下方法删除相同的元素(点击):

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

最佳答案

我想说这是一个错误。 sizzle 中有一个未处理的异常,它只发生在不支持 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 的调用,也许其他人会发现它)

关于javascript - jQuery .remove() 上的 IE7/IE8 Javascript 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6090162/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com