使用Jquery搜索自身下的第一个元素

时间:2015-01-08 14:21:23

标签: javascript jquery html css

我正在尝试选中前一个复选框时选中多个复选框。 目前第一组复选框工作正常。但是当我选择第二个复选框时,应该选择附加的复选框而不是第一个复选框。

html代码

<acronym>
    <input name="" type="checkbox" class="OverFlowCheckbox" value="">
    <div class="Selectionlist">
    <div class="percentageBox color2"> </div><span>Hus og hjem</span></div>
    <div class="_user_auth">
    <ul class="selectCheckBox">
    <li><input type="checkbox" id="checkbox1" class="css-checkbox" checked="checked"/><label for="checkbox1" class="css-label lite-red-check">Boligalarm</label></li>
    <li><input type="checkbox" id="checkbox2" class="css-checkbox" checked="checked"/><label for="checkbox2" class="css-label lite-red-check">Forsikring</label></li>
    <li><input type="checkbox" id="checkbox3" class="css-checkbox" checked="checked"/><label for="checkbox3" class="css-label lite-red-check">Lån</label></li>
    <li><input type="checkbox" id="checkbox5" class="css-checkbox" checked="checked"/><label for="checkbox5" class="css-label lite-red-check">Eiend. megler</label></li>
    <li><input type="checkbox" id="checkbox6" class="css-checkbox" checked="checked"/><label for="checkbox6" class="css-label lite-red-check">Telecom</label></li>
    <li><input type="checkbox" id="checkbox4" class="css-checkbox" checked="checked"/><label for="checkbox4" class="css-label lite-red-check">Varmepumpe</label></li>
    <li><input type="checkbox" id="checkbox5" class="css-checkbox" checked="checked"/><label for="checkbox5" class="css-label lite-red-check">Annet</label></li>
    </ul>
    </div>
    </acronym> 
    <acronym>
    <input name="" type="checkbox" class="OverFlowCheckbox" value="">
     <div class="Selectionlist">
    <div class="percentageBox color3"></div><span>Bil og båt</span></div>
    <div class="_user_auth">
    <ul class="selectCheckBox">
    <li><input type="checkbox" id="checkbox1" class="css-checkbox" checked="checked"/><label for="checkbox1" class="css-label lite-red-check">Bilverksted</label></li>
    <li><input type="checkbox" id="checkbox2" class="css-checkbox" checked="checked"/><label for="checkbox2" class="css-label lite-red-check">Båtverksted</label></li>
    <li><input type="checkbox" id="checkbox3" class="css-checkbox" checked="checked"/><label for="checkbox3" class="css-label lite-red-check">Dekk</label></li>
    <li><input type="checkbox" id="checkbox5" class="css-checkbox" checked="checked"/><label for="checkbox5" class="css-label lite-red-check">Annet bil</label></li>
    <li><input type="checkbox" id="checkbox6" class="css-checkbox" checked="checked"/><label for="checkbox6" class="css-label lite-red-check">Annet båt</label></li>
    </ul>
    </div>
    </acronym>

java脚本代码

$(document).ready(function(){
    $('acronym .OverFlowCheckbox').click(function(){
        if ($(this).is(':checked')) { 


     $('._user_auth').first().fadeIn('slow');
    } 
        else 
    {
    $('._user_auth ').fadeOut('slow');
     }
    });
});

current online jsfiddle code

3 个答案:

答案 0 :(得分:0)

您可以遍历最近的元素acronym,然后在其中找到div._user_auth

$('acronym .OverFlowCheckbox').click(function(){
if ($(this).is(':checked')) { 
    $(this).closest('acronym').find('._user_auth').fadeIn('slow');
} else {
    $(this).closest('acronym').find('._user_auth').fadeOut('slow');
}});

<强> Working Demo

答案 1 :(得分:0)

$(document).ready(function(){

    $('acronym .OverFlowCheckbox').click(function(){

        if ($(this).is(':checked')) { 

            $(this).next().next().fadeIn('slow');

        } else {

            $(this).next().next().fadeOut('slow');

        }

   });

});

答案 2 :(得分:0)

您可以使用$(this).parent()。find(&#39; ._ user_auth&#39;)查找当前元素下的列表。

JSFiddle demo of the code

$(document).ready(function () {
    $('acronym .OverFlowCheckbox').click(function () {
        var chkList = $(this).parent().find('._user_auth').first();
        if ($(this).is(':checked')) {
            chkList.fadeIn('slow');
        } else {
            chkList.fadeOut('slow');
        }
    });
});