var el = $('.par');
给你一个 jQuery 对象,它可能包含一个或多个 DOM 元素。
var el = $('.par')[0];
返回选择该 jQuery 对象的第一个 DOM 对象。 className
是 DOM 元素上的属性,而不是 jQuery 对象上的属性
$('.par').attr('class');
将是获取第一个元素的类名的 jQuery 方法。
如果您只想将特定类添加到与另一个类匹配的元素中,您可以使用
$('.par').addClass('testclass');
这会将测试类添加到具有 par 类的所有元素中,而您的方法只会将其添加到页面上的第一个元素中。
其他属性
Also, are there other common JS properties / methods that don't work as expected inside jQuery?
Most dom properties will not work directly on a jQuery object. You can use [0] to get the raw dom element for the first matched element for those. However most of them also have straightforward equivalents in jQuery. The advantage of using the jQuery versions is that they're often simpler, and work consistently across browsers. Native dom properties tend to be faster to access though.