仅为通过元素选择器选择的元素获取指定的属性列表

Fetching only specified list of attributes for elements selected through element selector

本文关键字:元素 获取 取指 列表 属性 选择 选择器      更新时间:2023-09-26

我需要在文档中获取前10个<p>元素,我可以很容易地使用$('p').slice(0,10)。但是更进一步,我想为上面调用返回的每个元素只获得几个属性。如。当我在脚本中执行$('p')时,我得到每个具有childnodes, classname, firstchild, innerText, innerHTML等属性的元素。我只对innertext and few others感兴趣。是否有一种方法,我可以指定的属性列表,我想为每个选定的元素获取?

jQuery选择返回的对象是DOM Node对象的包装器,它将始终具有这些属性。你不能仅仅从选择的元素中获取你需要的属性。

如果需要创建仅包含特定属性的传输对象,则需要使用Node对象中的属性分别创建它们:

var elements = [];
$('p').slice(0, 10).each(function() {
  elements.push({
    tagName: this.tagName, 
    innerText: this.innerText, 
    className: this.className
  });
});