Мне нужно сравнить текст двух тегов div, которые будут содержать HTML. Результат должен появиться в другом div. Хотя он показывает различия и появляется в div, HTML не анализируется.
<script src="~/js/diff.js"></script>
<script>
comparetxt('divold', 'divnew', 'divresult');
function comparetxt(dold, dnew, dresult) {
var oldtxt = document.getElementById(dold);
var newtxt = document.getElementById(dnew);
var display = document.getElementById(dresult);
var strnew = newtxt.innerHTML;
var strold = oldtxt.innerHTML;
var color = '',
span = null;
var diff = Diff.diffChars(strnew, strold),
fragment = document.createDocumentFragment();
diff.forEach(function (part) {
// green for additions, red for deletions
// grey for common parts
color = part.added ? 'green' :
part.removed ? 'red' : 'black';
span = document.createElement('span');
span.style.color = color;
span.appendChild(document
.createTextNode(part.value));
fragment.appendChild(span);
});
display.appendChild(fragment);
}