为什么我不能在对象HTMLImageElement上使用.hasClass(value)方法?

aoa*_*aoa 1 html javascript jquery dom

我使用JavaScript从我的HTML中检索图像,代码如下:

var images = document.getElementsByTagName("img");
Run Code Online (Sandbox Code Playgroud)

如果我正确理解JavaScript,则返回HTMLImageElement类型的对象.我可以使用.className变量直接访问它的变量,但我不能在其上调用Jquery .hasClass()方法.为什么是这样?

Jas*_*n P 7

因为.hasClass()是一个jQuery函数.您可以在jQuery对象上调用它,而不是本机DOM对象.简单的解决方案是创建一个jquery对象:

var domElement = document.getElementById('something');
var hasSomeClass = $(domElement).hasClass('some-class');
Run Code Online (Sandbox Code Playgroud)

当然,如果你已经使用了jQuery,为什么不这样做呢:

var $images = $('img');
Run Code Online (Sandbox Code Playgroud)