我希望在頁面上有兩個下一個框,然後可以將文本複製/粘貼到它們中,並使用JavaScript比較兩個框。從文本區域獲取線段並比較
<textarea id="first"></textarea>
<textarea id="second"></textarea>
使用JavaScript,然後我想通過符合這樣一些簡單的
if [line X of id="first"] != [line X of id="second"]
比較兩個,行,然後我想強調說行。
我不知道如何逐行訪問textarea的值,或者我需要獲取整個值並將其分割到數組中嗎?
有人請提供給我的語法,以逐行訪問文本區域?
此外,如果您認爲我正在討論這個錯誤或他們是一個更簡單的方法,請讓我知道!
編輯: 這裏是我的完整的解決方案:
HTML
<!DOCTYPE html>
<html>
<head><script src="split.js?" type="text/javascript"></script>
</head>
<body>
<textarea style="float: left; width: 45%" id="first" name="comments" autocomplete="off" cols="40" rows="5" width="50%"></textarea>
<textarea style="float: right; width: 45%" id="second" name="second" autocomplete="off" cols="40" rows="5"></textarea><br>
<button onClick="compare()">Compare</button>
<br><br><br><br><br><br><br><center><div id="results"></div></center>
</body>
</html>
的Javascript
function compare() {
document.getElementById('results').innerHTML = "";
var first = document.getElementById("first");
var second = document.getElementById("second");
if(document.all) { // IE
var f = first.value.split("\r\n");
var s = second.value.split("\r\n");
} else { //Mozilla
var f = first.value.split("\n");
var s = second.value.split("\n");
}
for(var i=0; i<f.length; i++) {
if (f[i] !== s[i]) {
var row = i;
row++
document.getElementById('results').appendChild(document.createTextNode("Box 1 Does not Match Box 2 on line: " + row));
document.getElementById('results').appendChild(document.createElement('br'));
}
}
};
位noobish但我學習!
您可以通過的getElementById做到這一點(「第一」)和兩個之後,它比較作爲字符串 –