首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从iron-list内的元素读取data-attribute

从iron-list内的元素读取data-attribute
EN

Stack Overflow用户
提问于 2017-02-19 23:03:17
回答 1查看 114关注 0票数 1

我使用iron-list创建了一个div列表,如下所示:

代码语言:javascript
复制
<iron-list items="[[chats]]" as="item" style="height:500px;">
    <template>
        <div class="item title" data-recipient$="[[item.recipient]]">
            <iron-icon class="big" src="../icons/games.svg"></iron-icon>
        </div>
    </template>
</iron-list>

我有一个聚合物方法,它稍后被调用并循环div.title

然后我可以设法设置它们的颜色,但我无法读取data-attribute:

代码语言:javascript
复制
var elems = document.querySelectorAll(".title");
[].forEach.call(elems, function(el) {
    el.style.color = "red"; // works
    console.log(el.getAttribute("data-recipient")); // prints out null
});

为什么会这样呢?

EN

回答 1

Stack Overflow用户

发布于 2017-02-22 07:18:37

如果您在一个聚合方法中,请避免使用document.querySelector(),因为它查询整个文档,而不仅仅是元素的本地DOM,并且该函数不能查询元素的影子DOM。您应该改用this.$$('.title')

但是,我无法重现您在此Codepen中看到的症状(即,el.dataset.recipientel.getAttribute('data-recipient')都返回期望值)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42328783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档