在javascript中构建一个li标签字符串

时间:2014-05-27 01:29:05

标签: javascript dom javascript-events

我无法弄清楚为什么这不能正确输出,脚本应该在用户给出的范围内输出每个倍数的列表,但是,我没有对broswer采取任何行动,调试不会发现任何问题,

 function findMultiples() {

'use strict';

var startingInt = document.getElementById('startingInt').value ;
var endingInt = document.getElementById('endingInt').value ;
var multiple = document.getElementById('multiple').value ;

var unListOutput ='';
 for (var i = startingInt; i < endingInt ; i--){
    unListOutput +=  ((i/multiple)%2==0) ?'<li>'+ i  + ' is '+multiple+' x '+(i/multiple)+'</li>': '';


 }
 unList = document.getElementById('list');
  unList.innerHTML = unListOutput ;
return false;

} 


function init() {
'use strict';
document.getElementById('theForm').onsubmit = findMultiples;
} 
window.onload = init;

1 个答案:

答案 0 :(得分:0)

您的代码有两个问题:

  1. 需要增量=&gt; (i++)
  2. unList 需要 var keyword =&gt; var unList = document.getElementById('list');
  3. 因此您的代码可以生成您的列表,如下面的代码:

     <script>
        function findMultiples() {
            'use strict';
            var startingInt = 0; //for the test purpose
            var endingInt = 10; //for the test purpose
            var multiple = 2; //for the test purpose
    
            var unListOutput = '';
    
            for (var i = startingInt; i < endingInt ; i++) {
                unListOutput += ((i / multiple) % 2 == 0) ? '<li>' + i + ' is ' + multiple + ' x ' + (i / multiple) + '</li>' : '';
            }
    
            var unList = document.getElementById('list');
            unList.innerHTML = unListOutput;
            //return false;
        }
    
    
        function init() {
    
            findMultiples(); //for the test purpose
        }
        window.onload = init;
    </script>
    

    html元素:

      <ul id="list"></ul>