jQuery中的绝对路径和相对路径

用户名

为什么以下两个代码返回相同的结果?

var img = new Image(400,250); 
        $(img).attr('src','resources/images/' + i + '.jpg');

var img = new Image(400,250); 
        img.src = 'resources/images/' + i + '.jpg';

我的jQuery不好,因此我在网上搜索了差异,并根据调查结果希望第一个代码返回:resources/images/1.jpg第二个代码返回:http://localhost:8080/myApp/resources/images/1.jpg

我感谢您的澄清。

FabrícioMatté

.attr('src', newSource).src = newSource不同之处在于,一个使用属性(或更具体地说,是DOM的序列化),另一个使用DOM属性。

jQuery的.attr()setter使用.setAttribute,即,它可以与属性一起使用。属性值是通常在HTML:中编写的纯文本<img src="someSource">

当浏览器接收HTML并将其解析为DOM时,将src相对于文档的位置(或<base>标记(如果有的话))解析属性值,并将解析的URI设置为DOM图像元素的src属性。

src属性反映的src属性,即,在一个变化src属性值将被在反射src属性值(和周围的其他方法以及)。

src属性总是存储解析URI(其设置为一个相对URI将根据文件的位置/隐式地解决它base的标签),在特性的变化将在属性中反映出来。反之亦然(设置属性会更新属性值)。


更重要的注意事项

独立于设置属性还是属性,解析后的URI(将从服务器获取)将是相同的因此,除非您有一些针对特定值测试属性的代码,否则所有这些都不会有多大区别。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章