爲什麼這個元素未定義時,我嘗試使用jQuery
選擇元素綁定的數據:選擇元素屬性通過淘汰賽
<ul data-bind="attr: {id: panelId}"></ul>
panelId
被定義爲Knockoutjs
視圖模型屬性:
var VM = function() {
var self = this,
date = new Date();
self.panelId = "panel-" + date.getTime();
$("#"+self.panelId).doSomthing(); // element is undefined
}
在Chrome開發人員工具中檢查頁面,我可以看到id被指定爲像這樣
<ul data-bind ... id="panel-1368039734501"</ul>
該panelId
屬性不一定是observable
。但我試圖讓它可觀察,但結果相同。
有人嗎?
你在哪裏叫'ko.applyBindings'?因爲你應該在**之前這樣做**你嘗試調用'$(「#」+ self.panelId).doSomthing()'... – nemesv 2013-05-08 19:13:06
'ko.applyBindings(new VM())'在ready ready handler :'$(function(){ko.applyBindings(new VM());})'。 – Javid 2013-05-08 19:21:51
如果您試圖對元素執行操作,聽起來像是自定義綁定處理程序的完美候選人。 – Posthuma 2013-05-08 19:27:36