image元素的src属性值与getAttribute('src')值

来源:互联网 发布:imap端口 编辑:程序博客网 时间:2024/06/07 06:35

给image元素赋予未编码的路径,会发生很有意思的情况,执行如下js代码

 var img = new Image();            img.onload = function () {                var src = img.src,                    attrSrc = img.getAttribute('src'),                    out = [];                out.push('src : ' + src);                out.push('attrSrc : ' + attrSrc);                out.push('src === attrSrc : ' + (src === attrSrc) );                window.alert(out.join('\n\n'));            };            img.src = '好的   空格&&&&.png'

测试的结果(注意,img.src 赋值未编码的路径)




结论:

img.src 与 img.getAttribute('src')的值可能是不同的,

js编程时注意用统一的方式(用img.src比较好些)去获取图片的路径值


百度了一下,发现了类似问题的总结:

IE6/7中getAttribute获取href/src 属性(相对路径0值与其它浏览器不同

http://www.jb51.net/article/28114.htm


update:

连接<a/>获取href时,也存在类似的问题

为此,统一获取img的src, <a />的href的方式,见代码:


/** * 统一获取图片src的方式 * 禁止使用img.getAttribute('src')和$(img).attr('src')的方式去获取图片src * see more : http://blog.csdn.net/fudesign2008/article/details/7620985 * * @author FuDesign2008@163.com * @date   2011-10-28 * @time   下午03:26:52 */var getImgSrc = function(img) {    if (img && img.src) {        return img.src;    }};/** * 统一获取连接<a/>获取href的方式 * 禁止使用link.getAttribute('href')和$(link).attr('href')的方式去获取图片href * see more :  *      http://blog.csdn.net/fudesign2008/article/details/7620985 * * @author FuDesign2008@163.com * @date   2011-10-12 * @time   下午06:34:22 */var getAnchorHref = function(link) {    if (link && link.href) {        return link.href;    }};





原创粉丝点击