1
我想改變使用Backbone和jQuery的兩個元素子元素的CSS。我的代碼不起作用。我認爲問題在於DOM元素和jQuery對象之間存在差異。無法更改jquery對象css
這裏是我的代碼:
App.Views.ExploreCard.user = App.Views.ExploreCard.Parent.extend({
name: 'user',
allowUntyped: true,
classes: 'explore-person-box shadowed',
onclick: function() {
window.location.assign(this.data.profilePath);
},
postRender: function() {
App.HCS.redrawHCS(this.$el);
}
});
和
App.HCS = {
redrawHCS: function(elements) {
elements.each(function(index, value) {
console.log(value);
var hcs = $(value).find('.score');
var border = $(value).find('.user-card-avatar-round');
var score = $(hcs).html();
console.log(hcs);
console.log(border);
console.log(score);
if (score <= 33 && score >= 1) {
$(hcs).css("background-image", "image-url('heart_primary.png')");
$(border).css("border", "3px solid #ff4013;");
}
else if (score <= 66 && score >= 34) {
$(hcs).css("background-image", "image-url('body_primary.png')");
$(border).css("border", "3px solid #008cb4;");
}
else if (score <= 99 && score >= 67) {
$(hcs).css("background-image", "image-url('minf_primary.png')");
$(border).css("border", "3px solid #fb9f00;");
}
});
}
};
我不想做任何事情非常困難。只需改變一些CSS規則。
我錯過了什麼?
是你的'.score'和'。用戶卡,化身round'的div,輸入還是什麼? –
'if'顯示之前那三個'console.log()'語句是什麼? (另外,不是問題,但你可以說'hcs.css(...)'和'border.css(...)' - 不需要將變量包裝在'$()'中,因爲'hcs'和'border'已經是jQuery對象。) – nnnnnn
'score'似乎是一個字符串,但是你將它與數字進行比較。也許你應該明確地轉換它? – propeller