Javascript在切换开关上突出显示差异

Javascript在切换开关上突出显示差异,javascript,Javascript,我感兴趣的是创建一个javascript切换功能来高度区分行中的差异。 * 这是一个基本的沙盒。 我见过一些函数可以计算文本中的差异——但我认为它需要遍历每一行——在差异上,在不同的位周围应用一个span标记——然后如果切换设置为后退,则删除span。 --但可能会有2匹以上 var s1 = "The quick brown fox", s2 = "The quick brown fox jumped over the fence", stri

我感兴趣的是创建一个javascript切换功能来高度区分行中的差异。 *

这是一个基本的沙盒。

我见过一些函数可以计算文本中的差异——但我认为它需要遍历每一行——在差异上,在不同的位周围应用一个span标记——然后如果切换设置为后退,则删除span。 --但可能会有2匹以上

var s1 = "The quick brown fox",
  s2 = "The quick brown fox jumped over the fence",
  string1 = new Array(),
  string2 = new Array(),
  diff = new Array(),
  longString;

string1 = s1.split(" ");
string2 = s2.split(" ");

if (s1.length > s2.length) {
  longString = string1;
} else {
  longString = string2;
}

for (x = 0; x < longString.length; x++) {
  if (string1[x] != string2[x]) {
    diff.push(string2[x]);
  }
}

document.write("The difference in the strings is " + diff.join(" "));
var s1=“快速棕色狐狸”,
s2=“敏捷的棕色狐狸跳过了栅栏”,
string1=新数组(),
string2=新数组(),
diff=新数组(),
长串;
string1=s1.拆分(“”);
string2=s2。拆分(“”);
如果(s1.长度>s2.长度){
longString=string1;
}否则{
longString=string2;
}
对于(x=0;x

这是一个与npm不同的演示--

正如我在评论中所说的,用于处理字符差异,并使用HTML自定义属性,例如
data diff
查找
span
元素

document.getElementById('show-diff').addEventListener('click',()=>{
const diff=diff.diffChars(document.getElementById('input-1')。值,document.getElementById('input-2')。值);
常量输出=差异减少((结果、更改)=>{
如果(change.added)返回结果+“”+change.value+“”;
if(change.removed)返回结果+“”+change.value+“”
返回结果+change.value;
}, '');
document.getElementById('output')。innerHTML=output;
控制台日志(输出);
});
document.getElementById('hide-diff')。addEventListener('click',()=>{
const output=document.getElementById('output').innerHTML;

document.getElementById('output')。innerHTML=output.replace(/不确定您想在这里实现什么。要比较字符串,请看一看。有一个按字符进行比较的选项。您有一行数据—查看4台不同的计算机—因此您正在查看规格。您想轻弹一个切换开关以突出显示差异。--因此您需要比较所有4列中的字符串—换行span的差异——然后,如果用户再次切换开关——取下span——而不破坏已经存在的标记——格式化在span上使用HTML属性,以便您可以找到它,例如,
实现此功能?处理多个输入?但它需要触摸COL本身——突出显示差异rencesI不是为你做的。我给了你更多你需要解决的问题。你自己计算其余的。对-所以我不确定这是否是正确的事情,如果它不能处理多行-直接修改行中看到的内容,然后返回againI需要这个充实,以满足赏金-寻找佳能答复: