Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery脚本没有';我不能工作两次_Javascript_Jquery_Html_Numbers - Fatal编程技术网

Javascript JQuery脚本没有';我不能工作两次

Javascript JQuery脚本没有';我不能工作两次,javascript,jquery,html,numbers,Javascript,Jquery,Html,Numbers,我正在尝试在网站页面中创建一个测验。这样做的目的是,每次按“下一步”时,页面中都会出现一个新问题。但是,第二次调用脚本是行不通的 为了实现这一点,我首先创建了一个名为“next”的链接 <a href="addquiz.html" name="next" id="1">Next</a> 这将调用从addquick.html打开q1的脚本 <script> $("#1").click(function() { $("#load").load("addqui

我正在尝试在网站页面中创建一个测验。这样做的目的是,每次按“下一步”时,页面中都会出现一个新问题。但是,第二次调用脚本是行不通的

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

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

这将调用从addquick.html打开q1的脚本

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

$(“#1”)。单击(函数(){
$(“#load”).load(“addquick.html”+'#q1');
event.preventDefault();
});
在这个脚本中有一个submit按钮,它调用函数goupone,将链接的id增加1(例如,从1增加到2)


5 + 19 = ?
函数goupone(){
var v=document.links[9].id;
vi=parseInt(v);
vi=vi+1;
document.links[9].id=vi;
}

但是,当我再次单击“下一步”按钮时,什么也没有发生。有人能帮忙吗?

由于您将
id
1
更改为
2
,初始单击处理程序
$(“#1”)。单击锚定时,单击()
将不再被触发。另一种方法是将事件处理程序绑定到属性
name
next
a

<script>
$('a[name="next"]').click(function() {
  $("#load").load("addquiz.html" + ' #q1');
  event.preventDefault();
});
</script>
但是,我会重构您的整个代码,只需使用以下代码:

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

<script>
$("#nextAnchor").on('click', function() {
  $("#load").load("addquiz.html#q" + $(this).data("next-id"));
  event.preventDefault();
});
</script>

function goupone() {
  var $next = $("#nextAnchor");
  var currentId = parseInt($next.data("next-id"));
  var nextId = currentId + 1;
  $next.data("next-id", nextId);
}

$(“#nextAnchor”)。在('click',function()上{
$(“#load”).load(“addquick.html#q”+$(this.data(“next id”));
event.preventDefault();
});
函数goupone(){
var$next=$(“#nextAnchor”);
var currentId=parseInt($next.data(“next id”);
var nextId=currentId+1;
$next.data(“next id”,nextId);
}

这是一个有效的

自从您将
id
1
更改为
2
,初始单击处理程序
$(“#1”)。单击锚定时,将不再触发click()
。另一种方法是将事件处理程序绑定到属性
name
next
a

<script>
$('a[name="next"]').click(function() {
  $("#load").load("addquiz.html" + ' #q1');
  event.preventDefault();
});
</script>
但是,我会重构您的整个代码,只需使用以下代码:

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

<script>
$("#nextAnchor").on('click', function() {
  $("#load").load("addquiz.html#q" + $(this).data("next-id"));
  event.preventDefault();
});
</script>

function goupone() {
  var $next = $("#nextAnchor");
  var currentId = parseInt($next.data("next-id"));
  var nextId = currentId + 1;
  $next.data("next-id", nextId);
}

$(“#nextAnchor”)。在('click',function()上{
$(“#load”).load(“addquick.html#q”+$(this.data(“next id”));
event.preventDefault();
});
函数goupone(){
var$next=$(“#nextAnchor”);
var currentId=parseInt($next.data(“next id”);
var nextId=currentId+1;
$next.data(“next id”,nextId);
}

这是一个有效的

我认为类比名称更合适。我重复了10次脚本,从#1到#10,q1到Q10不要忘记id=“1”无效。ID必须以一封信开头。班级会考虑有多个问题吗?(即分别加载q1和q2之后加载q2和q3的相同链接)是的,这就是使用类的意义所在。您可以将某个内容绑定到整个类,它的所有实例都会自动拾取该内容。我认为在这里,类比名称更合适。我将脚本从#1到#10重复10次,q1到Q10不要忘记id=“1”无效。ID必须以一封信开头。班级会考虑有多个问题吗?(即分别加载q1和q2之后加载q2和q3的相同链接)是的,这就是使用类的意义所在。您可以将某些内容绑定到整个类,它的所有实例都会自动获取这些内容?这与加载(“addquick.html#q1”)不一样吗?当两个参数都是文字字符串时,使用串联有什么意义?另外,URL中是否允许哈希之前的空格?我的猜测是大多数浏览器都会忽略它,但这并不是我所依赖的,似乎也没有必要。我只是想知道:为什么要编写
load(“addquick.html”+'#q1')?这与加载(“addquick.html#q1”)不一样吗?当两个参数都是文字字符串时,使用串联有什么意义?另外,URL中是否允许哈希之前的空格?我的猜测是,大多数浏览器都会忽略它,但这不是我会依赖的东西,而且似乎没有必要这样做。