获取随机jQuery对象的属性

时间:2012-08-20 17:02:58

标签: javascript jquery html

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

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

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

  

未捕获的TypeError:对象#<HTMLImageElement>没有方法'attr'

有什么想法吗?

3 个答案:

答案 0 :(得分:4)

get返回DOM元素引用。使用eq将匹配元素集合减少到指定索引处的元素,同时仍返回jQuery对象。

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

答案 1 :(得分:2)

get method返回包装的DOM元素,而不是jQuery对象。 eq method返回一个jQuery对象。

答案 2 :(得分:0)

这是因为你有一个javascript对象而不是一个jQ对象。这对你有用。

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