Javascript 将jQuery代码转换为Polymer?
是否有可能将一些JQuery转换成PolymerJ 问题:希望某个CSS类只应用于被单击的元素 我让它在JQuery中工作,但想知道它是否可以在Polymer中完成? 我知道如何从活动元素中添加和删除CSS,只是不知道如何从除活动元素之外的所有元素中删除CSS 正在应用到的组件Javascript 将jQuery代码转换为Polymer?,javascript,jquery,polymer,Javascript,Jquery,Polymer,是否有可能将一些JQuery转换成PolymerJ 问题:希望某个CSS类只应用于被单击的元素 我让它在JQuery中工作,但想知道它是否可以在Polymer中完成? 我知道如何从活动元素中添加和删除CSS,只是不知道如何从除活动元素之外的所有元素中删除CSS 正在应用到的组件 <iron-ajax id="userGet" handle-as="json" method="GET" on-response="setUser"></iron-ajax> &l
<iron-ajax id="userGet" handle-as="json" method="GET" on-response="setUser"></iron-ajax>
<div class="iron-list-container">
<iron-list id="list" items="setUser" as="user" >
<div class="item" id="item">
<!-- USER INFO STUFF GOES HERE -->
</div>
</iron-list>
</div>
PolymerJS到目前为止
toggleLeftBorder : function() {
/* this line will add the necessary css class to selected elements */
this.$.item.classList.add('addBorderLeft');
},
在聚合物中没有像jQuery提供的那样的一行程序可以做到这一点。Polymer尝试尽可能轻,并且不添加太多DOM操作工具 vanilla JS中的等效行可能是:
this.shadowRoot.querySelectorAll('.addBorderLeft')
.forEach(item => item.classList.remove('addBorderLeft');
由于您一次只希望选择一个项目,因此您可以在设置新选择的项目之前跟踪以前选择的项目并从中删除类:
toggleLeftBorder : function() {
if (this.selectedUserElement) {
this.selectedUserElement.classList.remove('addBorderLeft');
}
this.selectedUserElement = this.$.item;
this.selectedUserElement.classList.add('addBorderLeft');
},
但是,因为您使用的是铁名单
,它附带了烘焙的选择,所以您应该能够这样声明:
<iron-ajax id="userGet" handle-as="json" method="GET" on-response="setUser"></iron-ajax>
<div class="iron-list-container">
<iron-list id="list" items="[[setUser]]" as="user"
selection-enabled selected-item="{{selectedUser}}">
<div class="item">
<!-- USER INFO STUFF GOES HERE -->
</div>
</iron-list>
</div>
这将实现以下功能:
- 在元素上创建一个名为
的属性,该属性始终是当前选定的用户。我怀疑您在元素/应用程序的其他地方也需要这个selectedUser
- 将所选的
类添加到所选的
项中。请注意,这与您的铁列表
类不同,因此您需要将样式放在addBorderLeft
上。改为选中
<iron-ajax id="userGet" handle-as="json" method="GET" on-response="setUser"></iron-ajax>
<div class="iron-list-container">
<iron-list id="list" items="[[setUser]]" as="user"
selection-enabled selected-item="{{selectedUser}}">
<div class="item">
<!-- USER INFO STUFF GOES HERE -->
</div>
</iron-list>
</div>