当用户从选择框中选择一个选项时,我想删除范围内链接上的类(span class =“vote-btns”)(select class =“songSelection_input”)
<div class="jquery-selectbox jquery-custom-selectboxes-replaced" style="width: 545px;">
<div class="jquery-selectbox-moreButton"></div>
<div class="jquery-selectbox-list jquery-custom-selectboxes-replaced-list" style="width: 540px; height: 7em; display: none;">
<span class="jquery-selectbox-item value- item-0">PICK YOUR FAVORITE MOMENT...</span>
<span class="jquery-selectbox-item value-VoiceAngelFromMontgomery item-1">Angel From Montgomery</span>
<span class="jquery-selectbox-item value-VoiceWhenWillIBeLoved item-2">When Will I Be Loved</span>
</div>
<span class="jquery-selectbox-currentItem">When Will I Be Loved</span>
<select name="songSelection_amclaughlin" class="songSelection_input" id="select-amclaughlin" style="display: none;">
<option value="">PICK YOUR FAVORITE MOMENT...</option>
<option value="VoiceAngelFromMontgomery">Angel From Montgomery</option>
<option value="VoiceWhenWillIBeLoved">When Will I Be Loved</option>
<option value="VoiceTheClimb">The Climb</option>
<option value="VoiceABrokenWing">A Broken Wing</option>
<option value="VoiceAngelOfTheMorning">Angel Of The Morning</option>
<option value="VoiceYouLie">You Lie</option>
</select>
</div>
<span class="vote-btns">
<a href="#" class="button fb grey">vote</a>
<a href="#" class="button tw grey">vote</a>
</span>
我试图在改变时触发这个
$('.songSelection_input').change(function() {
$(this).next('span.vote-btns').find('a.button').removeClass('grey');
});
我不知道选择框(它是动态的)和投票btns跨度之间有多少跨度,所以我知道为什么下一个('span')不起作用,但我想指定下一个span.vote -btns可以胜任,但事实并非如此。
更新:我应该把它作为我的html但不包括,以简化我的问题。兄弟姐妹最初修复了我的问题,但我意识到我使用的jquery selectbox插件注入了html(span jquery selectbox项目并隐藏了选择框)
当我禁用selectbox jquery插件时,它可以正常工作:http://info.wsisiz.edu.pl/~suszynsk/jQuery/demos/jquery-selectbox/
答案 0 :(得分:2)
您需要遍历DOM一级,然后找到兄弟姐妹。 .closest()
方法可以提供帮助。试试这个:
$('.songSelection_input').change(function() {
$(this).closest('div').siblings('span.vote-btns').find('a.button').removeClass('grey');
});
答案 1 :(得分:0)
尝试使用.siblings()
:
$('.songSelection_input').change(function() {
$(this).siblings('span.vote-btns').find('a.button').removeClass('grey');
});