2013-11-22 63 views
0

我有一個非常簡單的jQuery腳本的問題 - 它適用於除IE以外的所有瀏覽器。基本上我想用jQuery來改變div元素的寬度。 IE瀏覽器似乎忽略了這一變化。下面是完整的腳本(只在特定的網頁,我想有變化):用jquery覆蓋div元素的寬度 - IE bug?

<script> 
    $(document).ready(function() { 
    var a, url = document.URL;; 
    a = document.createElement('a'); 
    a.href = url; 
    if (a.pathname == '/index.php/somepage') 
    $("div.component.message").css("width","700px"); 
}); 
</script> 

不與IE瀏覽器(IE 11 /邊)工作的一部分:

$("div.component.message").css("width","700px"); 

如果我在if子句中加入其他的東西,比如alert,它會被執行。寬度更改可在Opera,Chrome或Firefox中使用。

我解決了php文件中的問題,這可能比首先使用javascript做得更好,但我想知道如果我只是犯了一個愚蠢的錯誤,或者如果它是IE中的問題一般。

+0

爲什麼不使用'if(window.pathname =='/index.php/spagepage') –

+0

感謝您的建議。儘管還沒有用javascript/jquery做很多事情,並且可能做了許多事情,但仍然相當笨拙。不幸的是,它不能解決IE問題。 –

回答

3

window.location.pathname返回IE

的所有版本的leading slash after the hostname<a>標籤僅僅是返回路徑,而不在IE(和Opera以及)的斜線。

檢查Javascript .pathname IE quirk?

+0

謝謝 - 這個伎倆。 –

0

你在這個

var a, url = document.URL;; 

此書面雙分號可能是一個問題。糾正它。