为什么 jQuery 选择器只选择特定网站上的第一个层次结构元素?

why is jQuery selector only selecting first hierarchy element on specific website?

我正在尝试 select 来自该网站的一些元素: https://www.pexels.com/

例如,我尝试这个简单的 selector 将 div 父容器内的所有 divs 元素与 "photos__column" class 匹配:

$('div.photos__column div')

但结果它只是select第一个,为什么会这样?

提前致谢。

$ 可以是任何东西。

这个网站有 jQuery 吗?您可以通过

在浏览器控制台中查看
$.fn.jquery

使用本机查询 DOM API

document.querySelectorAll('div.photos__column div')

有效。

$('div.photos__column div') return 具有此模式的所有元素的数组 "div.photos__column div" 但是当您调用 text() 之类的函数时,函数文本仅使用的第一个结果数组

如果你想对所有 selected 元素进行操作,你可以使用 :

$('div.photos__column div').each(function( index ) {
  console.log( index + ": " + $( this ).attr("src") );
});

或者如果你想 select 元素索引,你可以通过 hir 索引调用元素,例如:$('div.photos__column div')[2]

您可以使用此查询从主页获取所有 img 源吗:

var allimegs = document.querySelectorAll(".photo-item__img");
var newsrc = [] ;for(var i = 0;i<allimegs.length;i++){
    newsrc[i] = allimegs[i].getAttribute("src"); 
}