我正在尝试根据后续部门中的单选按钮来定位前一个部门中的锚元素:
<li>
<div class="list-item-name">
<a href="#level-1" data-folder-child="26" data-folder-parent="0">Just a Folder</a>
</div>
<div class="list-item-radio">
<input type="radio" value="26" name="folders[]" id="list-item-radio-26">
</div>
</li>
我已经到了分组类“list-item-name”,但我无法找到锚点:
$(".folders-hierarchy").delegate("input[type=radio]", "click", function() {
if (obj_radio.previous) {
$("#" + obj_radio.previous).closest('li div.list-item-name a').css({ 'color': 'blue' });
$("#" + obj_radio.previous).closest('li').css({ 'background-color': 'white' });
}
$(this).closest('li div.list-item-name a').css({ 'color': 'blue' });
$(this).closest('li').css({ 'background-color': '#ffe7e7' });
obj_radio.previous = $(this).attr('id');
});
在这里,我正在交换各种元素的样式以反映正在做出的选择,将早期选择恢复为原始样式。
不幸的是,我无法显示整个代码,因为它与数据库数据有关,我无法减少。
答案 0 :(得分:3)
当你这样做时 -
$(this).closest('li div.list-item-name a')
jQuery尝试在父代中找到最接近的a
,这在您的代码中不可用 -
你需要这样做
$(this).closest('li').find('div.list-item-name a');
这将找到最接近的li
,然后在a
li
演示以演示此--->
http://jsfiddle.net/jJWs2/
答案 1 :(得分:2)
我会在上一个元素中获得锚点,例如Fiddle。
$(this).parent().prev().find('a');