通过Jquery从Gmail中的电子邮件中获取全部信息

问题描述 投票:0回答:1

我正在使用Google的扩展程序,并且希望访问我的Gmail页面上的所有“发件人”电子邮件。

我位于存储值的位置,但似乎没有可以遵循的逻辑类结构:

Gmail structure

我希望能够像这样循环遍历每个人:

var map = {};
$(".activeInput").each(function() {
    map[$(this).attr("name")] = $(this).val();
});

alert(map.key1); 

我遇到的问题是我似乎无法获取电子邮件值,即数据属性电子邮件的值

在控制台中,如果我这样做:

$('[email]')

返回整个范围

如果我尝试:

$('tr span').attr("email");

但是我得到:未捕获的TypeError:$(...)。attr不是函数

而且我尝试了其他几种方法但均未成功,因此希望有人可以向我指出正确的方向。

jquery dom
1个回答
0
投票

实际上,Gmail页面中的$不是jQuery实例,而是指Chrome Console Utilities API

如以上文档所述:

$(selector,[startNode])


$(selector)返回对具有指定CSS选择器的第一个DOM元素的引用。当使用一个参数调用时,此函数是document.querySelector()函数的别名。

现在,就您而言:

$('tr span').attr("email");

我们本来可以简单地使用$$(selector),相当于在chrome控制台中调用document.querySelectorAll(),但是Gmail似乎已禁用它。因此,您可以尝试:

var spans = document.querySelectorAll('tr [email]');
var emails = [...spans].map(x => x.getAttribute('email'))
console.log(emails)

这将以数组变量emails返回所有电子邮件”>

© www.soinside.com 2019 - 2024. All rights reserved.