Я делаю счетчик персонажей как код для хобби. Пока это работает, но у меня есть глюк, который я не могу решить. Когда я пишу термины «a,b,c
», то он правильно пишет a:1 b:1 c:1
. Но когда я пишу «a,a,c,c
», тогда он пишет только a:2
. Я не уверен, что случилось. Вот часть JavaScript моего кода (myFunction
активируется с помощью кнопки, и testinput.value
является значение текстового поля я использую):Счетчик символов не будет печатать все символы
function myFunction() {
var occurence = document.getElementById("testinput").value;
var cycleOne = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t",
"u", "v", "w", "x", "y", "z"
];
for (i = 0; i < 26; i++) {
var counter = new RegExp(cycleOne[i], 'g');
document.write(occurence.match(counter).length);
}
}
Является ли документ закрытым, когда это работает? 'document.write' удаляет закрытые документы и создает новый пустой открытый в том же самом происхождении. –
['document.write'] (https://developer.mozilla.org/en-US/docs/Web/API/document.write) не предназначено для добавления контента на страницу в обработчике событий (т. Е. После страница была проанализирована). Вместо этого используйте подходящий метод манипуляции с DOM. – Teemu
Например, document.body.appendChild (document.createTextNode (instance.match (counter) .length)); 'является манипуляцией DOM с видом, который предлагает Teemu. –