我正在使用Google的扩展程序,并且希望访问我的Gmail页面上的所有“发件人”电子邮件。
我位于存储值的位置,但似乎没有可以遵循的逻辑类结构:
我希望能够像这样循环遍历每个人:
var map = {};
$(".activeInput").each(function() {
map[$(this).attr("name")] = $(this).val();
});
alert(map.key1);
我遇到的问题是我似乎无法获取电子邮件值,即数据属性电子邮件的值
在控制台中,如果我这样做:
$('[email]')
返回整个范围
如果我尝试:
$('tr span').attr("email");
但是我得到:未捕获的TypeError:$(...)。attr不是函数
而且我尝试了其他几种方法但均未成功,因此希望有人可以向我指出正确的方向。
实际上,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
返回所有电子邮件”>