1

我正在尝试根据单击后续分区中的单选按钮来定位上一个分区中的锚元素:

<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');
});

在这里,我正在交换各种元素的样式以反映所做的选择,将早期的选择恢复到其原始样式。

不幸的是,我无法显示整个代码,因为它与数据库数据相关联,我无法减少这些数据。

4

2 回答 2

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/的演示

于 2013-06-19T09:46:22.153 回答
2

我会在Fiddle这样的前一个元素中获得锚点。

$(this).parent().prev().find('a');
于 2013-06-19T09:51:46.670 回答