關於ie6,ie7中修改img的src屬性的一點心得

今天原本是要寫一個slide的。結果發現了以下的bug...網上找資料都沒有說這樣的bug,也不知道怎麼修復 css

原本我是要寫一個slide的,而後寫完了,在ie6下測試的時候發現了一個bug jquery

當我經過jquery的方法得到img的src值中發現的問題,主要是ie6 瀏覽器

在ie6,7下面經過jquery的attr("src")得到的值與其它瀏覽器下得到的屬性值是不同的,在ie6,7中得到的是加上域名的值,好比說 安全

<img id="test" src="image/1.jpg"/>
//經過jquery得到的src
$("#test").attr("src");
//通常瀏覽器會返回字符串"image/1.jpg"可是在ie瀏覽器裏會返回以下:http://localhost:/image/1.jpg
因此我也以爲很奇怪,爲何會這個樣子,固然我是想要得到圖片的數字,而後經過改變數字來修改瀏覽器裏的圖片,但是我也以爲這樣是能夠的,因此我爲了得到1這個數字經過一下方法進行了修改,
var http = location.href.length//得到域名長度,而後經過計算長度,加上image/的長度用slice(len,len+1)來得到1這個數據
這樣算是成功獲取了長度,也成功進行了判斷,可是又有ie6的新bug 了,就是我想要經過用jquery的attr("src","newsrc")方法來設置img的新的值的時候,又發生了錯誤。這個問題大師給我說了緣由,在ie6,7瀏覽器裏的js,不支持用setattribute()方法來修改src裏的值,或者是input的type屬性,由於這樣會致使安全的問題,這個bug,大師說了如今只有一個辦法修復,並且兼容性最好,就是得到原來全部圖片節點的值,而後進行節點保存在一個變量裏,而後刪除這些節點,把保存的節點進行修改後在插入到原來的頁面裏面。過程不是很複雜,可是我沒喲去實現,大師說這樣確實好複雜的,我問大師怎麼辦,大師說參考以前他寫的slide模塊,並非經過修改src來實現滑動的,而是在一個ul裏面的li裏把全部的圖片放在一塊兒,而後用過設置父div的css屬性overflow:hidden來隱藏不須要看到的區域,而後經過設置位置仍是什麼屬性的(記不清了,明太要用這種方法實現,實現了我再貼代碼上來)來改變位置,這種方法真不錯,明天要實現它。
相關文章
相關標籤/搜索