定义元素的索引是否等于变量

时间:2014-12-19 15:46:15

标签: jquery variables indexing equals

我需要比较变量的值和元素的索引。如果它们相等,则选择具有此索引的元素并对其执行操作。变量的值不是常数,当用户从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正确计算。

这会很简单,但我看不到......

任何想法???

1 个答案:

答案 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;的所有子项。