jQuery,选择具有属性的最近兄弟(下一个或上一个)

2024-04-22

我有一个类似于下面标记的选择下拉列表。

<select class="myselect" name="myname">
  <option value="0" disabled="disabled">0</option>
  <option value="1" disabled="disabled">1</option>
  <option value="2" disabled="disabled">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
  <option value="5">5</option>
  <option value="6">6</option>
  <option value="7" selected="selected" disabled="disabled">7</option>
</select>

我试图弄清楚如何使用 jQuery 选择与“选定”元素最接近的“启用”同级元素。在上面的示例中,我想选择选项 6。我意识到我可以使用 .prev(),但这只会上升。有时用户选择的数字较低,我需要选择 next() 选项。

感谢你的帮助!


一种选择是使用nextAll or prevAll方法,您可以检查length所选元素的,如果下一个未禁用元素存在,选择该元素,否则选择最接近的前一个元素未禁用元素。

var $o = $('.myselect option'),
    $s = $o.filter(':selected'),
    $next = $s.nextAll(':not(:disabled)').first();

if ($next.length) $next.foo();
else $s.prevAll(':not(:disabled)').first().bar();

http://jsfiddle.net/DsWh6/ http://jsfiddle.net/DsWh6/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery,选择具有属性的最近兄弟(下一个或上一个) 的相关文章

随机推荐