代码应该接收一个句子/字符串并反向打印,如果在单词中包含的过滤器中写入的单词或字母属于字符串 - 该单词将不会打印。
问题,为什么我的代码什么都不打印? 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>
答案 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>