我仍在研究我的单词过滤器。我尝试了不同的方法,但我总是被困在将更新后的单词放回 DOM 中。目标是收集所有不好的词,用一个字符串(如****)替换它们并输出它来代替原始术语。例如,文本“这是一个带有坏词的文本”会变成“这是一个带有 **** 词的文本”。我有一组坏词存储并声明为badStuff.
首先,我获取所有内容inputs type = text并将该 HTML 集合转换为数组。与textareas. 然后我将这些数组合并到submittedWords.
我使用一个函数来比较和替换单词,如下所示:
function validateText() {
// get the values from all input fields
for (let i = 0; i < inputs.length; i++) {
submittedWords.push(inputs[i].value);
}
// add the values from all textareas
for (let i = 0; i < textareas.length; i++) {
submittedWords.push(textareas[i].value);
}
// loop through the submitted words and if one matches an item in badStuff,
// replace the original term with a censored version
for ( let i = 0; i < submittedWords.length; i++) {
if (badStuff.includes(submittedWords[i].toLowerCase())) {
submittedWords[i] = submittedWords[i].replace(submittedWords[i], "****");
//return submittedWords[i] into DOM
// return? print?
}
}
// clear submittedWords array after each check
submittedWords = [];
}
validateText();
现在我的问题是我不确定如何将我的结果输出到 DOM 中,因此每当validateText()运行并遇到一个坏词时,每个坏词都会被替换为 **** 。我知道如何<p>通过 JS替换某些或其他标签中的文本或交换/更新 CSS 类以显示结果。但是在这里,我有一个数组,其中包含需要替换的各种输入字段和文本区域的元素。
也许我看不到明显的。
青春有我
拉丁的传说
如何更新dom?
如何在数组中插入一个新的元素
返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素这句话写错了。
更新数组元素的值是什么意思
相关分类