這是一個有趣的小問題,我碰到過 動態設置一個div數組的類。knockout.js - IE-7的css類問題
使用Knockout.js我分配了通過'attr'綁定使用的類。
這非常適用於除IE-7(不擔心IE-6等)
我有一個的jsfiddle示例突出issue here
在示例中,靜態的(頂部我已經測試了所有的瀏覽器行)應符合下一個(KO產生) 在IE7我只是看到了最廣泛的CSS選擇器的顏色(銀色)
這是一個有趣的小問題,我碰到過 動態設置一個div數組的類。knockout.js - IE-7的css類問題
使用Knockout.js我分配了通過'attr'綁定使用的類。
這非常適用於除IE-7(不擔心IE-6等)
我有一個的jsfiddle示例突出issue here
在示例中,靜態的(頂部我已經測試了所有的瀏覽器行)應符合下一個(KO產生) 在IE7我只是看到了最廣泛的CSS選擇器的顏色(銀色)
IE7要求設置className
而不是class
。
舉例來說,這部作品在IE7 和其他瀏覽器:http://jsfiddle.net/thirtydot/VVuGh/14/
<div data-bind='attr: { "class": classes, "className": classes }'></div>
然而,對於這個IE7怪癖支持最好應不會在你的HTML。在knockout.js裏面會是一個更好的地方,但我對圖書館一無所知可以提出這樣的建議。
感謝堆答案! –
如果您在生成模板(即它是模型的一部分)時無法確定您的類名,則可以創建一個custom binding。基於什麼由valueAccessor
返回element
您init
/update
方法的內容將剛纔設置的類名。舉個簡單的例子,你可以做(使用jQuery):
ko.bindingHandlers.yourBindingName = {
init: function(element, valueAccessor, allBindingsAccessor, viewModel) {
// This will be called when the binding is first applied to an element
// Set up any initial state, event handlers, etc. here
$(element).addClass(valueAccessor());
},
update: function(element, valueAccessor, allBindingsAccessor, viewModel) {
// This will be called once when the binding is first applied to an element,
// and again whenever the associated observable changes value.
// Update the DOM element based on the supplied values here.
}
};
你可能會建立一個更復雜的綁定所述基於淘汰賽css binding。
我更新了jsfiddle - http://jsfiddle.net/VVuGh/11/ - 標題現在設置爲與課程相同。如果您將鼠標懸停在動態廣場上,您可以看到標題設置正確 –