我有以下的jQuery代碼,在IE8,FF但在IE8補償模式下,它給這個錯誤JavaScript錯誤在IE8 compatibitlity模式
網頁錯誤的詳細信息
用戶代理工作正常:Mozilla的/ 4.0(兼容; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; Creative AutoUpdate v1 .30.00) 時間戳:Fri,2010年10月29日22:12:03 UTC
消息:對象不支持此屬性或方法 行:162 字符:44 代碼:0
這裏是線162
$(this).attr('onChange', function(iii,vvv){return vvv.replace('_','');});
以下是完整的腳本
<script type="text/javascript" language="javascript">
$(document).ready(function(){
$("select[name^=SELECT___]").each(function(){
$(this).attr('onChange', function(iii,vvv){return vvv.replace('_','');});
});
$("a[href^='javascript:change_option']").each(function(){
$(this).attr('href', function(ii,vv){return vv.replace('_','');});
});
});
</script>
是什麼原因造成這個錯誤?有另一種方法可以做我想做的事嗎?
我需要做的是在頁面上的以下代碼的每個實例中將「change_option」更改爲「changeoption」,也許有更好的方法來做到這一點。
這裏是HTML代碼。我沒有訪問這個網站碼
編輯:
<select onChange="change_option('SELECT___100E___7',this.options[this.selectedIndex].value)" name="SELECT___100E___7">
這是商務部申報。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
我不關注你。我不明白這是如何調用changeoption函數而不是change_option函數的。你能解釋一下嗎? – user357034 2010-10-29 23:30:25
函數就像在JavaScript中的任何其他變量。它和'var b = 10; var a = b;警報(a)'當然它會提醒a的值,但它與b具有相同的值。或者,也許我完全誤解了你的問題。 – 2010-10-29 23:45:57
爲了說明,現在當名稱以SELECT___開頭的每個選擇框中發生更改時調用的函數是change_option(xxxxxx,xxxxxx)我希望被調用的函數是此更改選項(xxxxxx,xxxxxx)。現在我試着用上面看到的替換函數來做,但只能在FF和IE8中工作,但在IE8壓縮模式下出現javascipt錯誤。我希望這是更有意義的。 – user357034 2010-10-29 23:52:43