从html页面删除随机单词

时间:2013-04-07 22:50:22

标签: javascript html5

我创建了一个javascript程序,当你点击标题“点击这里”时,逐个打印我的数组中的元素,我的问题是试图实现一个函数,当你点击时从html页面中删除一个随机单词在先前打印的单词上,但是它打印其他单词,我怎样才能创建一个删除之前打印的单词的功能?

<!DOCTYPE html>

<html>
<head>
    <title>function JavaScript</title>
   <script >
var k = 0;
var ph = ["red ","blue","black","green","yellow"];
function text(){

     if(k < ph.length ){

         document.getElementById("test").innerText+="  "+ ph[k];
            k++;
    }

}

function deleteWord(){

  var number = Math.floor(Math.random() * 5);

   document.getElementById("test").innerText+="  "+ ph[number];



}
   </script>




</head>

<body>

<h1 onclick="text();">Click here</h1>

<span id="test" onclick="deleteWord();"></span>




</body>
</html>

1 个答案:

答案 0 :(得分:0)

function deleteWord(){
  var number = Math.floor(Math.random() * 5);
  document.getElementById("test").innerText+="  "+ ph[number];
}

你的问题是+ =运算符在字符串的当前值之后附加" "+ ph[number]

要替换,请使用=运算符指定新值。因为要删除,只需使用空字符串。

  document.getElementById("test").innerText = "";

作为旁注,在字符串中存储多个空格是不常见的。如果您尝试移动内容,则应考虑设置padding-left CSS属性。

编辑:如果你不想丢失元素的全部内容,你可以替换字符串的最后一部分:

  document.getElementById("test").innerText.replace(/   .*$/,"");