【问题标题】:How to manipulate the characters written in a div to work with them afterwards using javascript如何使用 javascript 操作写在 div 中的字符以使用它们
【发布时间】:2018-06-04 16:57:19
【问题描述】:
function doGetWord(){
            var word = F.gword.value;
            var wLength = word.length;
            for(var i = 0; i < wLength; i++){
                document.getElementById("dword").innerHTML += "_ "  
            }
        }

这是一个将 _ 写入 html 中的 div 的函数,如果用户键入相应的输入,我想要更改它们,例如如果第一个字母应该是“a”,那么它会改变第一个 _ 到 "a"。

这是我目前得到的:

function doGuessWord(){
            dummy = F.t.value
            if(dummy.length > 1){
                dummy = ""
                F.t.value = ""
            }
            for(var x = 0; x < wLength; x++){
                if (substr(x, wLength) == dummy ) {
                    document.getElementById("dword").innerHTML += "_ "      
                }
                else{
                    document.getElementById("dword").innerHTML += "dummy "  
                }
            }
        }

你能帮我解决这个问题吗? 提前致谢!!

【问题讨论】:

  • 你是怎么知道的?来自input 元素?
  • 是的,用户在输入中输入了单词。
  • _ 的数量放入一个数组中,然后继续将keyup 事件上用户最后输入的字符添加到另一个数组中。然后在代码中的某处有一个增量变量,将带有_s 的数组的值更改为另一个。示例 dashArr[i] = charArr[i]。然后你需要再次将 dashArr 的内容写入文档。
  • 如果你仍然迷路,我可以快速写一个简单的小提琴
  • 嗯,我有点明白你说的,但是 keyup 事件是什么?如果你有时间,小提琴会很棒。

标签: javascript html


【解决方案1】:

这样的?

https://jsfiddle.net/9z66968a/3/

您将不得不稍微调整一下。但是您应该能够使用parseText 函数并将您需要的参数传递给它以返回文本以插入您想要的任何位置

【讨论】:

  • 嗯,你能解释一下你的代码吗?我从来没有使用过这样的术语:/ xD
  • jsfiddle.net/9z66968a/4 我更新了代码并添加了 cmets。让我知道是否更清楚。
  • 我真正想要的是一种输入,用户可以选择一个单词,然后另一个人可以猜出一个字母,如果它在单词中,它将替换“_”的东西。
  • 你可以随意使用我写的那个函数。我不知道你到底想做什么。另外,听起来你正在学习,所以无论如何为你做所有事情都没有任何好处
【解决方案2】:

给你。我相信这就是你想要的。如果您有不明白的地方,请随意 https://jsfiddle.net/vhsf8gpp/2/

var dashArr = [];
var dummyWord = document.getElementById('dummy');
var input = document.querySelector('input');
var counter = 0;

for(let i= 0; i<10;i++)
{
  dashArr.push('_');
}

function WriteContent()
{
  dummyWord.textContent = dashArr.map(d=>d).join(''); // This gets rid of the ',' inbetween the dashes
}

WriteContent();
//var charArr = [];
document.querySelector('input').addEventListener('keyup',function(){
  var inputString = input.value;
  dashArr[counter] = inputString.charAt(inputString.length - 1);
  WriteContent();
  counter++;
})

我用 this post作为参考。

【讨论】:

  • 我真正想要的是一种输入,用户可以选择一个单词,然后另一个人可以猜出一个字母,如果它在单词中,它将替换“_”的东西。
  • 所以你只需要一个 if 语句?只有当它是正确的词时才改变它?
  • 正确的字母*,是的 xD
  • 它和 e-e 做的有什么不同?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-02
  • 2016-12-18
  • 2011-08-30
  • 2011-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多