JQuery脚本不能工作两次

时间:2012-08-26 02:34:58

标签: javascript jquery html numbers

我正在尝试在网站页面中创建一个测验。目的是每次按下一个,页面内都会打开一个新问题。但是,第二次调用脚本不起作用。

为实现这一目标,我首先创建了一个名为“next”的链接。

<a href="addquiz.html" name="next" id="1">Next</a>

这需要一个从addquiz.html

打开q1的脚本
<script>
$("#1").click(function() {
$("#load").load("addquiz.html" + ' #q1');
event.preventDefault();
});
</script>

在这个脚本中有一个提交按钮,它调用函数goupone,它将链接的id增加1(例如,从1增加到2)

<div id="q1">
<h3>5 + 19 = ?</h3>
    <input type="text" width="6" name="" id="question-1-answers" value="" />
    <input type="submit" value="Check" onClick="goupone();" />
</div>

<script>
function goupone(){
var v=document.links[9].id;
vi=parseInt(v);
vi=vi+1;
document.links[9].id=vi;
}
</script>

然而,当我再次点击下一个按钮时,没有任何反应。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

由于您将id1更改为2,因此当您点击时,初始点击处理程序$("#1").click()不再被触发锚点。另一种方法是将事件处理程序绑定到属性aname的{​​{1}}:

next

或创建一个类,比如<script> $('a[name="next"]').click(function() { $("#load").load("addquiz.html" + ' #q1'); event.preventDefault(); }); </script> ,将其添加到next,并将其用作选择器:

a

但是,我会重构您的整个代码,只需使用以下代码:

<a href="addquiz.html" name="next" id="1" class="next">Next</a>

<script>
$('a.next').click(function() {
  $("#load").load("addquiz.html" + ' #q1');
  event.preventDefault();
});
</script>

这是一个有效的 DEMO