jQuery - 在列表中单击按钮时切换()表单

时间:2013-05-22 16:27:48

标签: jquery html list selector

问题:当我点击桌子时,我不希望它切换。只有当我点击按钮(div)时。此外,还必须有一个选择器,以便其他li的表格不会切换。

的jQuery

$(document).ready(function() {
    $('table.edititem').hide();
    $('.menu-category > li ul li .button').click(function(){
        $('table.edititem', this).toggle();
    });
});

我知道问题是:$('table.edititem',>>> this<<<<)。toggle();因为表不在“.button”内。 我们需要抓住父母,但我们该怎么做?

HTML

<ul>
<li>
    Category1
    <ul>
        <li>
            <div>
                <div class="button"></div>
                <table class="edititem">
                </table>
            </div>
        </li>
    </ul>
</li>
</ul>

我希望你理解我的意思。

2 个答案:

答案 0 :(得分:3)

您可以使用.parent()函数上传节点,然后搜索相关表格。

$(document).ready(function() {
    $('table.edititem').hide();
    $('.menu-category > li ul li .button').click(function(){
        $(this).parent().find("table.edititem").toggle();
    });
});

答案 1 :(得分:0)

您需要更正您的html表(put tr,td)。试试这个:

<强> HTML

<ul class="menu-category">
<li>
    Category1
    <ul>
        <li>
            <div>
                <div class="button">dddd</div>
                <table class="edititem"><tr><td>dfdf</td></tr>
                </table>
            </div>
        </li>
    </ul>
</li>
</ul>

<强>的jQuery

$(document).ready(function() {
    $('table.edititem').hide();
    $('.menu-category > li ul li .button').click(function(){
         console.log($(this).siblings('table.edititem'));
        $(this).siblings('table').toggle(100);
    });
});

以下是工作演示:http://jsfiddle.net/JgfMv/