Javascript <;李>;要素
我正在尝试创建一个检查列表。单击li元素时,该元素的子div应该可见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
<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:谢谢。你真是太好了:)