下一个选项jquery

下一个选项jquery,jquery,Jquery,尝试使用id标识符选择下一个选项下拉列表,但无效 这是密码 $('#chapter option:selected', 'select').removeAttr('selected').next('option').attr('selected', 'selected') 我想这一章是它的祖先之一 如果是这种情况,请删除上下文参数 $('#chapter option:selected').removeAttr('selected') .next('option')

尝试使用id标识符选择下一个选项下拉列表,但无效

这是密码

$('#chapter option:selected', 'select').removeAttr('selected').next('option').attr('selected', 'selected')
我想这一章是它的祖先之一

如果是这种情况,请删除上下文参数

$('#chapter option:selected').removeAttr('selected')
              .next('option').attr('selected', 'selected');
按照你的方式,你有效地做到了:

$('select').find('#chapter option:selected').removeAttr(...
…正在查找中的元素,该元素具有一个选项:从具有章节ID的elelent中降序选择

编辑:这个答案只关注为什么选择不起作用。最好使用中的方法完成最终任务


我建议您选择一个作为可接受的答案。

当您将所选属性添加到某个元素的同级元素时,没有必要从该元素中删除该属性,除非该元素具有多重属性

假设是正确的,并且因为您已经接受了它,您可以通过将DOM恢复到其根目录,将此代码重构为更高效的代码:

$("#chapter")[0].selectedIndex++;

更不用说用更短的代码保存的宝贵字节了。

您的标记看起来怎么样?章节或“选择”在这里都是多余的,这意味着您要在所有选择上更改此选项,或者只在一个特定选择上更改此选项。他是你的朋友@Jakub感谢您提供的链接,我肯定会使用此链接,我知道这是OP的原始代码,但是如果您将选定属性设置在不同的选项元素上,则删除该属性是不必要的。@Andy E-回到这里。说得好。我更专注于为什么选择不起作用。宝贵的字节。它们在$chapter[0]中非常重要。选择索引+++1这将是OP最终想要实现的目标。