Javascript函数中的.push问题

时间:2015-09-17 03:30:50

标签: javascript arrays

我是Javascript和JQuery的新手。

目前我正在尝试在我的功能中使用.push 当一个人点击链接并向我的阵列添加1时,应该触发此操作。点击链接上的点击后,我看一下变量pointTotal,发现数组中没有任何内容。

如果有人可以,我想知道我做错了什么。

Javascript

var pointTotal = [];

$("#pointOne").click(function() {
    pointTotal.push(1);
});



HTML

  <div class ="quizSectionStress container-fluid">
    <div class="rowOne rowStyle">

      <div class = "answers col-xs-1 col-md-1">
        <div class="btn-group questionGroups">
          <button type="button" class="btn btn-default btn-md dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
            Answer <span class="caret"></span>
          </button>
            <ul class="dropdown-menu">
              <li><a href="#" id="questionOneOne pointOne" name="questionOneOne" value="1"><label>1</label></a></li>
              <li><a href="#" id="questionOneTwo pointTwo" name="questionOneTwo" value="2"><label>2</label></a></li>
              <li><a href="#" id="questionOneThree pointThree" name="questionOneThree" value="3"><label>3</label></a></li>
              <li><a href="#" id="questionOneFour pointFour" name="questionOneFour" value="4"><label>4</label></a></li>
              <li><a href="#" id="questionOneFive pointFive" name="questionOneFive" value="5"><label>5</label></a></li>
              <li><a href="#" id="questionOneSix pointSix" name="questionOneSix" value="6"><label>6</label></a></li>
            </ul>
        </div>
      </div>

2 个答案:

答案 0 :(得分:0)

尝试在DOM准备就绪时声明所有变量和事件:

<!-- html... head... jQuery inclusion... -->
<script type="text/javascript">
    $(document).ready(function() {
        var pointTotal = [];

        $('#pointOne').click(function(e) {
            e.preventDefault(); // Just in case it's an anchor/submit/whatever..
            pointTotal.push(1);
            alert('pointTotal count so far: ' + pointTotal.length);
        });
    });
</script>
<!-- blah blah... more html -->

这是因为带有pointOne id的元素在准备好之前不会在DOM中,因此click事件不会附加到它。

答案 1 :(得分:0)

在您的代码中尝试这样...与jquery文件链接

var pointTotal = [];

$("#pointOne").click(function(){
pointTotal.push(1);
$("#show").text(pointTotal);
//console.log(pointTotal);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<button id="pointOne">Click</button>
<div id="show"></div>