我一直试图搜索这个,但甚至没有找到任何有同样问题的人.
对于我的任务,我必须编写一个javascript代码,它将读取外部页面中的所有文本(虽然来自同一目录),但这不是问题.当我创建一个带有一些随机文本的测试html文件时,问题出现了.
Meta charset="UTF-8">
此代码取自调试器:
Image of html file as from Inspector
问题是我的javascript代码确实从这个div元素读取文本并附加我拥有的单词数组.
有谁知道为什么这个div生成以及如何摆脱它?
P.S我尝试过创建其他html文件,但div也出现在那里.
提前致谢!
编辑:
这是我的JS代码:
var externalPage;
var words = [];
var j = 0;
function indexOf(array,item) {
for (var i = 0; i < array.length; i++) {
if (array[i][0].toString() === item.toString()) return i;
}
return -1;
}
function clearNode(node) {
while (node.firstChild) {
node.removeChild(node.firstChild);
}
}
function sortNumerically(words) {
return words.sort(function(a,b){
return b[1] - a[1];
});
}
function sortAlphabetically(words) {
return words.sort();
}
function openFile(url) {
externalPage = window.open();
externalPage.location = url;
}
function extractWords(node) {
if (node.nodeType==Node.ELEMENT_NODE) {
for (var m = node.firstChild; m!=null; m = m.nextSibling)
extractWords(m);
}
else {
var value = node.nodeValue.trim();
value = value.split(/\s/);
for(var i = 0; i < value.length; i++) {
if(indexOf(words,value[i]) != -1) {
words[indexOf(words,value[i])][1] =
words[indexOf(words,value[i])][1] + 1;
} else if(value[i] != '') {
words.push([]);
words[j][0] = value[i];
words[j][1] = 1;
j++;
}
}
}
}
function populateTable(arr) {
var tbody = document.createElement('tbody');
clearNode(tbody);
for(var i = 0; i< words.length; i++) {
var tr = document.createElement('tr');
var tdW = document.createElement('td');
var tdF = document.createElement('td');
tdW.appendChild(document.createTextNode(arr[i][0]));
tdF.appendChild(document.createTextNode(arr[i][1]));
tr.appendChild(tdW);
tr.appendChild(tdF);
tbody.appendChild(tr);
}
document.getElementById('tableCounter').appendChild(tbody);
}
function generateArray(node) {
words = [];
j = 0;
extractWords(node,words);
alert(sortNumerically(words));
populateTable(words);
}
最佳答案
原文链接:https://www.f2er.com/html/425572.html