簡體   English   中英

簡單jQuery上的IE錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM