Skip to content

Instantly share code, notes, and snippets.

@A-gambit
Created May 18, 2014 17:05
Show Gist options
  • Save A-gambit/77f7c77df6ce5542836f to your computer and use it in GitHub Desktop.
Save A-gambit/77f7c77df6ce5542836f to your computer and use it in GitHub Desktop.
До
var beforeChilde = beforeNode.firstChild, //перший син beforeNode
afterChilde = afterNode; //елемент рівний afterNode
while(beforeChilde){
if(beforeChilde.tagName!==undefined){
if(beforeChilde.style.color==="green"){
for(var i=0; i<afterNode.childElementCount;i++){
afterChilde=afterNode.children[i];//елемент син afterNode
if(afterChilde.style.color==="green"){
if(afterChilde.tagName===beforeChilde.tagName){
if(beforeChilde.childElementCount>0 && afterChilde.childElementCount>0){
//перевірка на неоднаковість innerHTML
if(afterChilde.innerHTML!==beforeChilde.innerHTML){
objThird.beforeElement[objThird.beforeElement.length]=beforeChilde;
objThird.afterElement[objThird.afterElement.length]=afterChilde;
objThird.html[objThird.html.length]=afterChilde.innerHTML;
beforeChilde.style.color="orange";
afterChilde.style.color="orange";
change(beforeChilde,afterChilde);
break;
}
}
}
}
}
}
}
beforeChilde=beforeChilde.nextSibling;
var beforeChilde = beforeNode.firstChild, //перший син beforeNode
afterChilde = afterNode; //елемент рівний afterNode
while(beforeChilde){
var condition = beforeChilde.tagName!==undefined;
if(condition) nextCheck(beforeNode, afterNode);
beforeChilde=beforeChilde.nextSibling;
}
function nextCheck(beforeNode, afterNode){
var condition = beforeChilde.style.color==="green";
if(condition) nextCheckLoop(beforeNode, afterNode);
}
function nextCheckLoop(beforeNode, afterNode){
var condition;
var answer=false;
for(var i=0; i<afterNode.childElementCount;i++){
afterChilde=afterNode.children[i];
condition=beforeChilde.childElementCount>0 && afterChilde.childElementCount>0;
if(condition) answer=checkLoopTag(beforeNode, afterNode);
if(answer){answer=false; break;}
}
}
function checkLoopTag(beforeNode, afterNode){
var condition = afterChilde.innerHTML!==beforeChilde.innerHTML;
if(condition) return changeTag(beforeNode, afterNode);
else return false;
}
function changeTag(beforeNode, afterNode){
objThird.beforeElement[objThird.beforeElement.length]=beforeChilde;
objThird.afterElement[objThird.afterElement.length]=afterChilde;
objThird.html[objThird.html.length]=afterChilde.innerHTML;
beforeChilde.style.color="orange";
afterChilde.style.color="orange";
change(beforeChilde,afterChilde);
return true;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment