繁体   English   中英

为什么Jquery不让我这样做

[英]Why doesn't Jquery let me do this

document.getElementById("main").src = '02.jpg';

作品

$('#main').src = '02.jpg';

$("#main").attr("src", "02.jpg");

$('#main')返回一个jQuery对象,而不是HTMLElement,因此在jQuery对象上没有定义src属性。 您可能会发现本文很有用。

Mike展示了一种设置src属性的方法(他展示的方法可能被认为是最类似于jQuery的方法)。 其他几种方式

$("#main")[0].src = '02.jpg';

要么

$("#main").get(0).src = '02.jpg';

$('#main')。src = '02 .jpg';

从$(...)获得的jQuery包装器不会重现它包装的DOM对象的所有属性和方法。 您必须在包装对象上坚持jQuery特定的方法:在这种情况下,请参见Mike详细介绍的attr

与jQuery相比,“原型”库增强了现有的DOM对象,而不是包装它们。 因此,除了新方法和属性之外,您还可以获得.src类的旧方法和属性。 两种方法都有优点和缺点。

$("#main")是来自搜索的匹配项的集合。 document.getElementById("main")是单个DOM元素-确实具有src属性。 如果要在$(x)返回的集合中的所有元素上设置某些属性,请使用attr(x,y)方法,即使该元素只是getElementById(x)的单个元素。

这类似于intint[]之间的区别-百兽完全不同!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM