[英]IE error on simple jQuery
有關錯誤的詳細信息
Useraget:Mozilla / 4.0(兼容; MSIE 8.0; Windows NT 5.1; Trident / 4.0; .NET CLR 1.1.4322; InfoPath.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.4506.2152 ; .NET CLR 3.5.30729)Tiemstamp:Tue,25 May 2010 08:54:11 UTC
消息:對象不支持此屬性或方法行:208字符:3代碼:0
在第208行,我的perpage = $("#perpage").val();
怎么了 它僅在IE8中發生,Firefox可以完美地運行它。 有人知道嗎
問題似乎是我的JavaScript變量和元素id具有相同的名稱。 當我將變量重命名為vperpage時,它也都在IE中起作用。
vperpage = $("#perpage").val(); //Seem to work in Internet Explorer
任何人都可以確認IE中這種奇怪的行為?
編輯的2010-05-25 13:57 GMT + 1
就像@bobince所說的和他發布的鏈接一樣,如果我們不在JavaScript中聲明變量,IE會將元素和變量視為同一事物。
var perpage = $("#perpage").val(); /*Works in Internet Explorer */
perpage = $("#perpage").val(); /*Doesn't work in Internet Explorer since
we already have a element with the id perpage*/
這可能會造成混淆,因為JavaScript本身也會自動聲明一個變量,如果我們給它賦值則該變量將不存在。 但是,正如我們在上面的問題中注意到的那樣,當我們已經有一個具有相同ID的元素時,此方法將不起作用。 因此,不好的做法是不要總是聲明自己的變量:)經驗教訓!
ID為perpage
的元素除了表單輸入字段之外是否還有其他內容? 如果是,則應使用:
var perpage = $("#perpage").html(); // for html contents of the element
var perpage = $("#perpage").text(); // for textual contents of the element
如果您已將ID #perpage
分配給多個元素,這也可能會引起問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.