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

给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;
    }
};





  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值