javascript - 如何使用 jQuery 获取该元素的索引?

标签 javascript jquery html xhtml

我正在尝试使用 jQuery 获取元素的索引以发送到 PHP 脚本。

这是我的 XHTML

<form action="/accreditation/questions/" method="post" id="questions-form">
  <fieldset id="question-0">
    <legend>Question</legend>
    <h3>What colour is grass?</h3>    
    <ul>
      <li>
        <input type="radio" name="answer[0]" value="0" id="radio-0-0" />
        <label for="radio-0-0">Green</label>
      </li>
      <li>
        <input type="radio" name="answer[0]" value="1" id="radio-0-1" />
        <label for="radio-0-1">Red</label>
      </li>
      <li>
        <input type="radio" name="answer[0]" value="2" id="radio-0-2" />
        <label for="radio-0-2">Orange</label>
      </li>
    </ul>
  </fieldset>
  <fieldset id="question-1">
    <legend>Question</legend>
    <h3>how old is alex</h3>    
    <ul>
      <li>
        <input type="radio" name="answer[1]" value="0" id="radio-1-0" />
        <label for="radio-1-0">21</label>
      </li>
      <li>
        <input type="radio" name="answer[1]" value="1" id="radio-1-1" />
        <label for="radio-1-1">11</label>
      </li>
      <li>
        <input type="radio" name="answer[1]" value="2" id="radio-1-2" />
        <label for="radio-1-2">23</label>
      </li>
    </ul>
  </fieldset>
</form>

我需要获取字段集元素的索引。我目前正在使用这个 each 迭代器(我不想更改它,因为它里面有很多其他函数)。

$('#questions-form ul li').each(function() {
    qIndex = $('fieldset').index($('fieldset', $(this).parent()))
});

我希望 qIndex 是字段集相对于表单的索引。例如,在这种情况下,我应该让它等于 0 和 1(尽管会有 6 个值,因为它循环遍历列表元素)。

我玩了一段时间,没能得到正确的索引。我总是找不到 (-1)。

如果有帮助,下面是我用来获取列表项相对于包含 ul 元素的索引的代码。

index = $('li', $(this).parent()).index(this);

我的字段集索引抓取代码有什么问题?

最佳答案

LI 的父级是UL,而不是fieldset
我认为这将为您设置 qIndex:

qIndex = $('fieldset').index($(this).parents('fieldset'));

关于javascript - 如何使用 jQuery 获取该元素的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/628967/

相关文章:

javascript - 如何在 JavaScript 中检查 3 个参数是否为 null 或未定义?

javascript - 使用 JS 从数组中弹出元素

当前元素之后的 Jquery 目标跨度

javascript - 将 div 附加到响应式父 div

html - 这种布局可以用CSS来实现吗?

javascript - KineticJS - 将舞台缩放到视口(viewport)

javascript - 固定在顶部导航栏

javascript - <pattern> & required 不适用于动态创建的表单

javascript - 如果代码在底部,放置 $(document).ready 函数有什么意义?

javascript - 在 AngularJS 中使用 `splice` 方法之前,如何将值从一个数组推送到另一个数组?