什么's src和attr之间的区别(src,..)
What's the difference between src vs attr(src, ...)?
src和attr('src',variableName)之间有什么区别?在我看来,我也在做同样的事情。为图像源属性指定值。
我正在写一些jQuery,在一个地方src有效,但在另一个地方无效,在另一地方,attr('src',variableName)有效,而另一个则无效。
这是我的代码:
$( document ).ready( function() {
function imageSnap() {
$( 'p img' ).each( function() {
// Store image selector
var image = $( this );
// Store image source
var imageSrc = image.attr('data-src');
// Create new image and assign image source
var newImage = new Image();
newImage.src = imageSrc; // HERE // works
//newImage.attr( 'src', imageSrc ); // doesn't work
// Execute on image load
image.load( function() {
// Store native image dimensions
var nativeWidth = newImage.width;
var nativeHeight = newImage.height;
// more code stuffs
console.log( 'nativeWidth ' + nativeWidth );
console.log( 'nativeHeight ' + nativeHeight );
});
// Load image
//image.src = imageSrc; AND HERE // doesn't work
image.attr('src', imageSrc ); // works
});
}
// Execute on document ready
imageSnap();
});
它们是一样的,但第一件事(.src
)不起作用,因为$(this)
是从jQuery选择器中提取的($(this)
是您的image
变量),而.src
是本地JavaScript中的一个方法,当您使用其选择器时,jQuery无法识别。
var newImage = new Image();
newImage.src = imageSrc; // works
//newImage.attr( 'src', imageSrc ); // doesn't work
这不起作用,因为var newImage = new Image();
不是jquery语法。因此,它没有创建对jquery对象的引用,因此作为jquery方法的方法.attr()
将不起作用。但.src
会这样做,因为这是标准的js。
var image = $( this );
这是在引用一个jquery对象。因此,当您稍后对其调用.attr()
时,它将按预期进行分配。
简单的答案是,newImage
与image
不是同一个对象。第一个是类型为Image()
的对象,具有变量src
,而第二个是JQuery集合对象,具有隐藏在内部的src
属性,可通过attr
函数访问。
相关文章:
- 全局变量和全局对象的属性之间有什么区别吗
- 在Twitter上用ie9中的空白src访问iframe的contentWindow
- JavaScript中的函数和对象之间没有区别吗?
- Javascript:使用绝对路径设置img src
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- Javascript将图像src更改为淡入淡出
- 如何使用Angular动态添加iframe-src
- 在ember/handlers中使用value和valueBinding有什么区别
- 在下划线中使用_(obj).map(callback)和_.map(obj,callback)之间的区别
- //而不是在src=“”上使用http://"属性
- 使用:new Image()控制加载html.src=html_URL
- 无法使用nodeJS在html中设置Image src
- javascript函数的:和=之间的区别
- 这两个关于 JavaScript 作用域链的例子有什么区别?
- 如何动态更改脚本src
- 标签和新的Image().src有什么区别
- image.setAttribute 和 image.src 之间的区别
- 什么's src和attr之间的区别(src,..)
- 在ace文本编辑器中,src-min和src-min-noconflict之间有什么区别
- 在asp.net mvc 3 razor部分视图中执行jquery.ajax的脚本src和脚本内部代码的区别