2016-04-28 119 views
0

我有一個字符串,它有HTML代碼。所以我在視圖上有約束力基於字符串的敲除HTML綁定和HTML的長度

<div data-bind="html : Notes()"></div> 

現在我想添加一個類的div基於Notes元素的長度與出Html元素。

假設Notes = "<b>Hello</b>",然後Notes.length = 12 (With <b> and </b>)

但我需要替換所有的HTML元素,我需要得到長度爲5(你好)。

我該如何實現這一點。

<div data-bind="html : Notes(), css:{myclass : Notes().length > 5}"></div> 
+1

而不是HTML文本使用 – guradio

+0

@guradio:如果我使用的文本,它會顯示所有元素作爲一個字符串。這裏問題不在於HTML綁定。我需要根據Notes()和html元素的長度來檢查條件。 – Rayudu

回答

2

你可以做一個計算,創建一個虛擬的元素,並返回像這樣的文字長度:

var noteLength = ko.computed(function() { 
    var tempElement = document.createElement("div"); 
    tempElement.innerHTML = Notes(); 

    return tempElement.innerText.length; 
});