Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将类添加到一个元素而不是所有元素,例如_Javascript_Jquery - Fatal编程技术网

Javascript 将类添加到一个元素而不是所有元素,例如

Javascript 将类添加到一个元素而不是所有元素,例如,javascript,jquery,Javascript,Jquery,所以,我在这里挣扎。我想在单击导航时打开嵌套列表并将类添加到父列表中。 这一部分几乎可以工作,问题是它将该类添加到父列表中的所有元素中 <ul> <li><div><p class="hidden">Test 1</p> <ul class="shown"> <li> <a href=

所以,我在这里挣扎。我想在单击导航时打开嵌套列表并将类添加到父列表中。 这一部分几乎可以工作,问题是它将该类添加到父列表中的所有元素中

       <ul>
        <li><div><p class="hidden">Test 1</p>
            <ul class="shown">
                <li>
                   <a href="#"><p>Inner 1</p></a>
                </li>
            </ul>
            </div>
        </li>
        <li><div><p  class="hidden">Test 2</p>
            <ul class="shown">
                <li>
                   <a href="#"><p>Inner 2</p></a>
                </li>
            </ul>
            </div>
        </li>
    </ul>
    <ul>
css

JSFIDLE


在添加和删除color1类时,将$('.hidden')更改为$(此)。。as$('.hidden')将使用.hidden类向所有元素添加类

Jsfiddle:


在添加和删除color1类时,将$('.hidden')更改为$(this)。。as$('.hidden')将使用.hidden类向所有元素添加类

Jsfiddle:


在单击处理程序中,您希望引用
$(this)
而不是
$('.hidden')
——后者表示类
隐藏的所有元素:

$('.hidden').click(function () {
    var $answer = $(this).next('.shown');
    if ($answer.is(':hidden')) {
        $answer.show();
        $(this).addClass('color1');
    } else {
        $answer.hide();
        $(this).removeClass('color1');
    }
});

在单击处理程序中,您希望引用
$(此)
而不是
$('.hidden')
——后者表示类
隐藏的所有元素:

$('.hidden').click(function () {
    var $answer = $(this).next('.shown');
    if ($answer.is(':hidden')) {
        $answer.show();
        $(this).addClass('color1');
    } else {
        $answer.hide();
        $(this).removeClass('color1');
    }
});

$(document).ready(function () {
    $('.shown').hide();
    $('.hidden').click(function () {
        var $answer = $(this).next('.shown');
        if ($answer.is(':hidden')) {
            $answer.show();
                         $(this).addClass('color1');
        } else {
            $answer.hide();
            $(this).removeClass('color1');
        }
    });
});
$('.hidden').click(function () {
    var $answer = $(this).next('.shown');
    if ($answer.is(':hidden')) {
        $answer.show();
        $(this).addClass('color1');
    } else {
        $answer.hide();
        $(this).removeClass('color1');
    }
});