javascript - 从 getElementsByClassName 获取括号之间的类名编号
问题描述
在我的示例中,我想知道单击了类名的哪个数字(在方括号之间)。这对于写入另一个 div 的相同类号是必要的。
<div class="button_minus"></div>
<div class="input_test"></div>
<div class="button_minus"></div>
<div class="input_test"></div>
<div class="button_minus"></div>
<div class="input_test"></div>
$(".button_minus").click(function(){
document.getElementsByClassname("input_test").[???].value = "test";
});
有一个选项可以给每个“button_minus”一个值参数,可以在“input_test”的方括号中给出,但这似乎效率不高。
解决方案
从单击的元素中,您可以导航到其.next()
元素以访问关联的input_test
div:
$(".button_minus").click(function(){
$(this).next().text('test');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="button_minus">-</div>
<div class="input_test">input</div>
<div class="button_minus">-</div>
<div class="input_test">input</div>
<div class="button_minus">-</div>
<div class="input_test">input</div>
请注意,因为该元素是 a <div>
,而不是类似输入的字段,所以不要使用.value
(or .val()
) - 使用textContent
or .text()
。
如果您还需要索引,请在集合中检查其索引:
const minuses = $(".button_minus");
minuses.click(function(){
$(this).next().text('test');
console.log(minuses.index(this));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="button_minus">-</div>
<div class="input_test">input</div>
<div class="button_minus">-</div>
<div class="input_test">input</div>
<div class="button_minus">-</div>
<div class="input_test">input</div>
推荐阅读
- c# - dotnet.exe 实际上是什么,它的目的是什么?
- python - 如何在不覆盖 Excel 中的第一行的情况下将标题添加到数据框(使用“.parse”从 excel 创建)
- java - JPopupMenu 内的 JCombobox
- javascript - 当我单击其中一项(输入元素)时,如何阻止 Select 组件关闭 - 反应 antd
- java - 无法读取 jakarta.activation:jakarta.activation-api 的工件描述符
- python - Django 异步视图,AsyncIO
- list - Prolog 中最常见的子列表
- ruby-on-rails - 在rails中调用方法
- c++ - 如果 char *name = "Emma",为什么 &name 与 &name[0] 不同?
- flutter - Flutter streamProvider 未更新