【发布时间】:2015-01-25 21:08:10
【问题描述】:
我正在使用meteor 尝试设置列表中单击项目的样式,但在理解定义CSS 选择器的正确方法时遇到了一些麻烦。
我在html 中有一个无序列表:
<template name="template1">
<ul>
{{#each document}}
<li class='document {{selectedClass}}'>{{name}}: {{num}}</li>
{{/each}}
</ul>
这样当下面的客户端JavaScript 运行时,被点击的项目应该收到'document selected' 的类,而其他的应该有'document' 的类
if (Meteor.isClient) {
Template.template1.selectedClass = function (){
var documentId = this._id;
var selectedDocument = Session.get('selectedDocument');
if (selectedDocument === documentId) {
return 'selected';
};
};
Template.leaderboard.events ({
'click li.document': function() {
var documentId = this._id;
Session.set('selectedDocument', documentId);
}
)}
};
作为CSS 选择器,我正在使用
.selected {
background-color:grey;
}
这似乎有效,但我不明白为什么。该课程被称为'document selected',但.selected 似乎选择了它。
【问题讨论】: