关于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来隐藏不须要看到的区域,而后经过设置位置仍是什么属性的(记不清了,明太要用这种方法实现,实现了我再贴代码上来)来改变位置,这种方法真不错,明天要实现它。
相关文章
相关标签/搜索