在整个代码中的特定元素之后按类查找下一个元素(jQuery)

我需要做一个jQuery脚本镜我在一个输入<input>class="a"下一个正向<input>class="b",每一个键在键盘按下。

但我有一些限制:

  • ,不幸的是我无法更改 HTML。这是一个遗留代码。我唯一能做的就是添加一个 jQuery 脚本。

  • ,它不能是纯 JavaScript 代码。它必须是一个 jQuery 代码。

  • 是的,我需要使用,.on()因为div包含输入的 是动态创建的。

我曾尝试使用.next().find().each().closest()... 但我是初学者,所以我不知道如何正确使用它们。可能是使用这些功能的东西。

<!-- any code -->

<div>

    <input type="text" class="a" />

</div>

<!-- any code -->

<div>

    <input type="text" class="b" />

</div>

<!-- any code -->

<div>

    <input type="text" class="a" />

</div>

<!-- any code -->

<div>

    <input type="text" class="b" />

</div>

<!-- any code -->

<div>

    <input type="text" class="a" />

</div>

<!-- any code -->

<div>

    <input type="text" class="b" />

</div>

<!-- any code -->

$(document).on('keyup', '.a', function (ev) {

    //1 - get value in input and store in a variable

    //2 - search for the next forward input of class="b"

    //3 - set the variable to the value of input

});

重要提示:请注意,代码并非完全如此。在一个input和另一个之间,有一些代码,它们不是同一父级中的事件div。我唯一不能保证的是input,在代码中,下一个是在 ant 之后,它将在div.


湖上湖
浏览 162回答 2
2回答

慕哥9229398

看到 jQuery 如何是纯 JavaScript,人们可能会争辩说这也是“jQuery 代码”:D在输入事件上,通过获取父元素的兄弟元素(阿姨元素)来获取表亲输入如果阿姨不是<div>一直寻找,直到找到下一个<div>在阿姨下搜索所需的输入/类组合(即input.b)将该表亲元素的值设置input.a为正在输入的值document.addEventListener('input', event => {&nbsp; if (event.target.classList.contains('a')) {&nbsp; &nbsp; let aunt=event.target.parentElement.nextElementSibling&nbsp; &nbsp; while(aunt && aunt.nodeName!='DIV'){&nbsp; &nbsp; &nbsp; aunt=aunt.nextElementSibling;&nbsp; &nbsp; }&nbsp; &nbsp; const cousin = aunt.querySelector('input.b');&nbsp; &nbsp; cousin.value = event.target.value;&nbsp; }});<!-- any code --><div>&nbsp; <input type="text" class="a" /></div><pre>&nbsp; code</pre><div>&nbsp; <input type="text" class="b" /></div><pre>&nbsp; code</pre><div>&nbsp; <input type="text" class="a" /></div><!-- any code --><div>&nbsp; <input type="text" class="b" /></div><!-- any code --><div>&nbsp; <input type="text" class="a" /></div><pre>&nbsp; code</pre><div>&nbsp; <input type="text" class="b" /></div>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript