Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.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_Html_Css - Fatal编程技术网

Javascript <;李>;要素

Javascript <;李>;要素,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在尝试创建一个检查列表。单击li元素时,该元素的子div应该可见 <div id="list_one"> <h2>LIST TITLE</h2> <div id="line"></div> <ul> <li id="1-1"><div class="blue_line"></div><div class="circle"></d

我正在尝试创建一个检查列表。单击li元素时,该元素的子div应该可见

<div id="list_one">
    <h2>LIST TITLE</h2>
    <div id="line"></div>
    <ul>
        <li id="1-1"><div class="blue_line"></div><div class="circle"></div>TASK ONE</li>
        <li id="1-2"><div class="blue_line"></div><div class="circle"></div>TASK TWO</li>
        <li id="1-3"><div class="blue_line"></div><div class="circle"></div>TASK THREE</li>
        <li id="1-4"><div class="blue_line"></div><div class="circle"></div>TASK FOUR</li>
        <li id="1-5"><div class="blue_line"></div><div class="circle"></div>TASK FIVE</li>
        <li id="1-6"><div class="blue_line"></div><div class="circle"></div>TASK SIX</li>
    </ul>
</div>

您必须包含
#
字符:

$(document).ready(function() {
    $(".blue_line").css("visibility","hidden");
    $("li").click(function() {
        var id = this.id;
        console.log(id);
        $("#" + id).children().css("visibility","visible");
    });
});
但如前所述,在事件中使用
$(this)
更有意义:

$(document).ready(function() {
    $(".blue_line").css("visibility","hidden");
    $("li").click(function() {
        $(this).children().css("visibility","visible");
    });
});

您必须包含
#
字符:

$(document).ready(function() {
    $(".blue_line").css("visibility","hidden");
    $("li").click(function() {
        var id = this.id;
        console.log(id);
        $("#" + id).children().css("visibility","visible");
    });
});
但如前所述,在事件中使用
$(this)
更有意义:

$(document).ready(function() {
    $(".blue_line").css("visibility","hidden");
    $("li").click(function() {
        $(this).children().css("visibility","visible");
    });
});

你不需要像那样使用id。使用$(this)访问LI:

$(document).ready(function() {
    $(".blue_line").css("visibility","hidden");
    $("li").click(function() {
        $(this).children().css("visibility","visible");
    });
});

正如其他地方指出的,原因是在需要执行
$('#'+id)
时使用
$(id)
使其成为有效的jQuery id选择器

您不需要这样使用id。使用$(this)访问LI:

$(document).ready(function() {
    $(".blue_line").css("visibility","hidden");
    $("li").click(function() {
        $(this).children().css("visibility","visible");
    });
});

正如其他地方指出的那样,原因是在需要执行
$('#'+id)
时使用
$(id)
,以使其成为有效的jQuery id选择器

请注意,如果我没有弄错,但是:

$("li").on('click', function() {
    $(this).toggleClass('checked');
});
小提琴:

“单击项目时,添加显示蓝线的选中类”

这样做更好—使用类的侵入性更小,并且当li元素有
选中的
类时,您可以在css文件中对其执行任何操作(建议不要直接使用javascript向元素添加样式)


PS避免在任何地方使用IDs。

注意,如果我没有弄错,请确保,但是:

$("li").on('click', function() {
    $(this).toggleClass('checked');
});
小提琴:

“单击项目时,添加显示蓝线的选中类”

这样做更好—使用类的侵入性更小,并且当li元素有
选中的
类时,您可以在css文件中对其执行任何操作(建议不要直接使用javascript向元素添加样式)


PS避免在任何地方使用IDs。

您只需执行
$(this).children().css(“可见性”、“可见”)
你可以只做
$(this.children().css(“可见性”、“可见”)太棒了,谢谢!我会尽快接受你的答案。虽然这是个问题,但这不是最好的答案,编辑后会更好,谢谢!我会尽快接受你的答案。虽然这是个问题,但不是最好的答案,更好的是,我不想创建一个单独的答案,但我创建了这个提琴来演示:@xDaevax:谢谢。你真是太好了:)我不想单独给出一个答案,但我制作了这把小提琴来演示:@xDaevax:谢谢。你真是太好了:)