我有一個輸入文本,其中一個data
屬性在我的視圖模型更改後立即更改(感謝Knockout)。 如下完成綁定:JQuery數據函數返回錯誤的值
<input data-bind="attr:{'data-customitem': customItemId}" />
某處在我的視圖模型,我有訪問輸入和檢索data-customitem
屬性值的函數。
第一次輸入被綁定時,它會得到一個ID,比如說X
。因此,HTML看起來像這樣:
<input data-bind="attr:{'data-customitem': customItemId}" data-customitem='X'/>
然後我的模型的變化和基因敲除更新屬性值Y
。在HTML現在看起來是這樣的:
<input data-bind="attr:{'data-customitem': customItemId}" data-customitem='Y'/>
現在的問題是:
$element.data("customitem")
回報X
$element.attr("data-orderitem")
回報Y
爲什麼jQuery的數據函數返回的數據屬性的舊值?幕後有緩存嗎?
哇!非常感謝這個偉大的解釋。我認爲數據函數只是attr函數的某種別名,而底層數據是相同的。我完全錯了:) +1並接受了答案。 – GETah
當然:)歡迎您! – Dekel