Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取随机jQuery对象的属性_Javascript_Jquery_Html - Fatal编程技术网

Javascript 获取随机jQuery对象的属性

Javascript 获取随机jQuery对象的属性,javascript,jquery,html,Javascript,Jquery,Html,我试图使用下面的代码在我的页面上获取图像的数据属性,但它不起作用 var rand_el = $('img').get(Math.floor(Math.random() * $('img').length)).attr('data-id'); 但我只得到以下控制台日志: 未捕获类型错误:对象#没有方法“attr” 有什么想法吗?返回DOM元素引用。用于将匹配的元素集减少为指定索引处的元素集,同时仍返回jQuery对象 var rand_el = $('img').eq(Math.floor(M

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

var rand_el = $('img').get(Math.floor(Math.random() * $('img').length)).attr('data-id');
但我只得到以下控制台日志:

未捕获类型错误:对象
#
没有方法“attr”

有什么想法吗?

返回DOM元素引用。用于将匹配的元素集减少为指定索引处的元素集,同时仍返回jQuery对象

var rand_el = $('img').eq(Math.floor(Math.random() * $('img').length)).attr('data-id');
返回DOM元素引用。用于将匹配的元素集减少为指定索引处的元素集,同时仍返回jQuery对象

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

返回包装的DOM元素,而不是jQuery对象。但是,返回jQuery对象。

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

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

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

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

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

是的,我真的应该知道它返回的是HTML元素,而不是jQ对象。谢谢大家。是的,我真的应该知道它返回的是HTML元素,而不是jQ对象。谢谢各位。