gpt4 book ai didi

jquery - 每个() jQuery 中的 Change()

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

处理这种情况的最佳方法是什么:

$('.element').each(function() {

$sibling = // find a sibling to $this.
$mainElement = $(this); // memorize $(this)
$sibling.change(function() {
// when sibling changes
// do something using $mainElement
// problem is, $mainElement is not the element you think
// $mainElement is the last .element found....
})
});

一个解决方案是一个表...但是将change()嵌套在each()中没有任何优势...

我的 html 示例:

<div id="first">
<span class="element"></span>
<input name="first" type="text" />
</div>
<div id="second">
<span class="element"></span>
<input name="second" type="text" />
</div>

在此示例中,例如 $sibling = $(this).next('input');

最佳答案

一种方法是使用 closure 。这将捕获 $mainElement 中的变量,可以说,使用其当前值。

$('.element').each(function() {

$sibling = // find a sibling to $this.
$mainElement = $(this); // memorize $(this)
$sibling.change(function($mainElement) {
return function() {
// use $mainElement
}
}($mainElement))
});

jsfiddle example (编辑后请务必模糊文本字段,否则 .change() 将不会触发)

关于jquery - 每个() jQuery 中的 Change(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14910100/

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