获取随机jQuery对象的属性

Get attribute of random jQuery object

本文关键字:属性 对象 jQuery 随机 获取      更新时间:2023-09-26

我正试图使用以下代码获取页面上图像的数据属性,但它不起的作用

var rand_el = $('img').get(Math.floor(Math.random() * $('img').length)).attr('data-id');

但我只得到以下控制台日志:

未捕获的类型错误:对象#<HTMLImageElement>没有方法"attr"

有什么想法吗?

get返回一个DOM元素引用。使用eq将匹配的元素集缩减为指定索引处的元素集,同时仍然返回jQuery对象。

var rand_el = $('img').eq(Math.floor(Math.random() * $('img').length)).attr('data-id');

get方法返回封装的DOM元素,而不是jQuery对象。但是,eq方法返回一个jQuery对象。

发生这种情况是因为您有一个javascript对象,而不是jQ对象。这应该对你有用。

$($('img').get(Math.floor(Math.random() * $('img').length))).attr('data-id');