gpt4 book ai didi

jQuery : Get the index of non-siblings elements of the closest class

转载 作者:行者123 更新时间:2023-12-01 01:22:00 25 4
gpt4 key购买 nike

我正在尝试获取特定类中非同级 input[type='text'] 元素的索引。这是代码:

<form class="myForms">
<input class="myClass" type="text" /> -> expected value 0
<input class="myClass" type="text" /> -> expected value 1
<input class="myClass" type="text" /> -> expected value 2
</form>

<form class="myForms">
<input class="myClass" type="text" /> -> expected value 0
<input class="myClass" type="text" /> -> expected value 1
<input class="myClass" type="text" /> -> expected value 2
<input class="myClass" type="hidden" />
<input class="myClass" type="text" /> -> expected value 3
</form>

<form class="myForms">
<input class="myClass" type="text" /> -> expected value 0
<input class="myClass" type="text" /> -> expected value 1
<input class="myClass" type="hidden" />
<input class="myClass" type="text" /> -> expected value 2
<input class="myClass" type="text" /> -> expected value 3
</form>

<form class="myForms">
<input class="myClass" type="text" /> -> expected value 0
<input class="myClass" type="text" /> -> expected value 1
</form>

<form class="myForms">
<input class="myClass" type="text" /> -> expected value 0
<input class="myClass" type="text" /> -> expected value 1
<input class="myClass" type="hidden" />
<input class="myClass" type="hidden" />
<input class="myClass" type="text" /> -> expected value 2
</form>

我尝试了这个 Jquery 代码:

$(document).on("keyup","input[type='text']",function(e){

var elem = $(this);
var theClosest = elem.closest('.myForms');

// And then :
console.log(elem.index(theClosest));

});

// But, I'm wrong : it always returns -1

我该如何解决这个问题?

非常感谢您的帮助!

最佳答案

您需要从表单内的文本输入中搜索索引,因此获取输入并应用 index() 以元素为参数的方法。您也可以使用 :text 伪类来选择文本输入,这有助于减少代码。

$(document).on("keyup", ":text", function(e) {
var elem = $(this),
form = $(this).closest('.myForms');
console.log(form.find(':text').index(elem));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form class="myForms">
<input class="myClass" type="text" />
<input class="myClass" type="text" />
<input class="myClass" type="text" />
</form>

<form class="myForms">
<input class="myClass" type="text" />
<input class="myClass" type="text" />
<input class="myClass" type="text" />
<input class="myClass" type="hidden" />
<input class="myClass" type="text" />
</form>

<form class="myForms">
<input class="myClass" type="text" />
<input class="myClass" type="text" />
<input class="myClass" type="hidden" />
<input class="myClass" type="text" />
<input class="myClass" type="text" />
</form>

<form class="myForms">
<input class="myClass" type="text" />
<input class="myClass" type="text" />
</form>

<form class="myForms">
<input class="myClass" type="text" />
<input class="myClass" type="text" />
<input class="myClass" type="hidden" />
<input class="myClass" type="hidden" />
<input class="myClass" type="text" />
</form>

关于jQuery : Get the index of non-siblings elements of the closest class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37987397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com