gpt4 book ai didi

javascript - jQuery 删除它不应该删除的

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:22:00 24 4
gpt4 key购买 nike

我有一些动态<select>基于各种用户输入生成的元素。我正在尝试删除某些 <option>不适用于每个选择但 jQuery 似乎删除了更多 <option>然后它应该根据我的代码删除。一个完整的用例很难重现,所以我会发布我所看到的,希望这足以解决这个问题。

为了向自己证明我没有疯,我决定添加一个类而不是删除 <option>在循环。这是我使用的:

$('.my-select').each(function(sourceIdx,sourceEl){
var id = $(sourceEl).attr('id');
var s = $('#'+id).parents('table').find('.some-input').val();
$(sourceEl).find('option[value="'+s+'"]').addClass('option-remove');
});

这是生成的源代码:

<select class="my-select" id="1295453461993">
<option title="1" value="1">1</option>
<option title="2" value="2" class="option-remove">2</option>
<option title="3" value="3">3</option>
</select>

<select class="my-select" id="1295453475890">
<option title="1" value="1">1</option>
<option title="2" value="2">2</option>
<option title="3" value="3" class="option-remove">3</option>
</select>

这正是我希望发生的事情。但是,当我在循环之后立即添加它时:

$('.option-remove').remove(); 

我明白了:

<select class="my-select" id="1295454051124">
<option title="1" value="1">1</option>
</select>

<select class="my-select" id="1295454058398">
<option title="1" value="1">1</option>
<option title="2" value="2">2</option>
</select>

这让我说:“等等,什么?!”。当 jQuery 删除 <option> 时,似乎在第二次选择中,它删除了相同的 <option> (值=3)从第一个 <select> .不酷。

那么我在这里做错了什么?

我正在使用 jQuery 1.4.4 在 FireFox 3.5 中进行测试(在 IE 中结果相同)。

最佳答案

精简的非动态测试用例工作正常:

<!doctype html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
</head>

<body>

<form>
<select class="my-select" id="1295453461993">
<option title="1" value="1">1</option>
<option title="2" value="2" class="option-remove">2</option>
<option title="3" value="3">3</option>
</select>

<select class="my-select" id="1295453475890">
<option title="1" value="1">1</option>
<option title="2" value="2">2</option>
<option title="3" value="3" class="option-remove">3</option>
</select>
</form>

<script>
$('.option-remove').remove();
</script>

</body>
</html>

一定有其他事情发生了......

关于javascript - jQuery 删除它不应该删除的 <option> 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4737861/

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