javascript代码不打印

时间:2014-02-25 09:47:48

标签: javascript html

代码应该接收一个句子/字符串并反向打印,如果在单词中包含的过滤器中写入的单词或字母属于字符串 - 该单词将不会打印。

问题,为什么我的代码什么都不打印? TNX!

输入:你好,你的名字是什么?并过滤o

输出应为:名称

(带有下划线的'what'一词)

问题是屏幕上只显示一个字!不是全部

<html>
    <head>
    <script>
    function myfunc()  {
     var count, i =0; 
     var phrase= document.getElementById('phrase').value;
     var filter = document.getElementById('filter').value;
     var arr = phrase.split(" ").reverse(); 
     for (i=0; i<arr.length; i++){
        if (arr[i].search(filter) == -1){
        count++; 
        if (count%2==1)
           document.getElementById('words').innerHTML="<span class='word'><u>"+ arr[i]+ "</u></span>";
        else
           document.getElementById('words').innerHTML="<span class='word'>"+arr[i]+ "</span>"; 
       }
}   
document.getElementById('count').innerHTML= count + "word(s) filtered out" ; 
}          
</script>
</head>
<body >
  <h1>Sentence Reverser!</h1>
  <div> Phrase: <input id="phrase" type="text" size="40"/></div>
  <div> Filter:    <input id="filter" type="text" size="10"/></div> 
  <div><button id="go" onclick="myfunc()"> Go! </button></div>
  <div id="words"></div>
  <div id="count"></div>
</body>
</html>

3 个答案:

答案 0 :(得分:0)

例如,您有错误(额外空间):

var filter = document.ge tElementById('filter').value;

明显地变成:

var filter = document.getElementById('filter').value;

建议:测试Chrome,例如,按F12并查看控制台错误。

答案 1 :(得分:0)

当您使用 getElementById 时,不构建DOM。你必须等到它是构建添加一个监听器。

答案 2 :(得分:0)

更新的代码:

<html>
    <head>
    <script>
    function myfunc()  {
     var count=0, i =0; 
     var phrase= document.getElementById('phrase').value;
     var filter = document.getElementById('filter').value;
     var arr = phrase.split(" ").reverse(); 
     for (i=0; i<arr.length; i++){
        if (arr[i].search(filter) == -1){
        count++; 
        if (count%2==1)
           document.getElementById('words').innerHTML+=" <span class='word'><u>"+ arr[i]+ "</u></span>";
        else
           document.getElementById('words').innerHTML+=" <span class='word'>"+arr[i]+ "</span>"; 
       }
}   
document.getElementById('count').innerHTML= count + "word(s) filtered out" ; 
}          
</script>
</head>
<body >
  <h1>Sentence Reverser!</h1>
  <div> Phrase: <input id="phrase" type="text" size="40"/></div>
  <div> Filter:    <input id="filter" type="text" size="10"/></div> 
  <div><button id="go" onclick="myfunc()"> Go! </button></div>
  <div id="words"></div>
  <div id="count"></div>
</body>
</html>