我需要比较变量的值和元素的索引。如果它们相等,则选择具有此索引的元素并对其执行操作。变量的值不是常数,当用户从new-set移动到new-set时,变量+ 1。
var nextclix = 0;
$(document).ready(function() {
...if (){
nextclix++;}
}
HTML
<div class="new-set">
....
</div>
<div class="new-set">
....
</div>
我在谷歌和这个论坛上搜索了几个小时,但到目前为止没有结果......
有人可以提示吗???
编辑:
这是一种游戏,用户通过多个集合(屏幕上一次一个),&#34; .new-set&#34;。当完成1组时,用户转到下一组&#34; new-set&#34;。 nextclix是一个计算&#34; new-sets&#34;,基于null的变量。因此,当用户在&#34; new-set&#34; [0]上时,nextclix = 0, 然后用户点击下一步按钮,他进入&#34;新设置&#34; [1]和nextclix = 1 ....
然而,在每个新集中可能会有不同数量的问题。比如在前3个问题和第2个问题中
所以我的目标是让脚本计算每个&#34; new-set&#34;中的项目数量。根据&#34; new-set&#34;的数量指数。 numObjects是一个计算答案数量的变量,当给出所有答案时,用户可以转到下一个&#34; new-set&#34;
我有这个脚本来计算nr项:
var NewSetArray = $('.new-set');
var numObjects = $(NewSetArray[nextclix]).find(Answer).length;
但它仅适用于首先出现在屏幕上的第一个&#34;&#34;新设置&#34; [0]。当我点击&#34; next&#34;按钮,numObjects保持在&#34; new-set&#34; [0]
的值nextclix正确计算。
这会很简单,但我看不到......
任何想法???
答案 0 :(得分:0)
在普通的javascript中你可以写:
var setArray = document.getElementsByClassName('new-set');
但是既然你正在使用Jquery,你可以写:
var setArray = $('.new-set');
变量setArray现在将包含一个元素数组。请记住,这将基于0,因此如果您的索引(即nextclix)不是0,则需要减去1以使其与setArray对齐。
如果您的div类只加载了一次(即,您没有在页面加载后通过ajax或用户输入创建&#39; new-set&#39;类的元素),那么您的代码可能看起来像这样:
var setArray = $('.new-set');
function highlightChildrenIfEqual(value, index){
if(value==index){
$(setArray[index]).children().addClass('highlight');
}
}
该函数只是比较值和索引。如果它们相等,它将应用一个突出显示类(您必须将自己定义为具有指定索引的&#39; new-set&#39;的所有子项。