将(this)与动态内容jQuery一起使用
using (this) with dynamic content jQuery
我很难理解使用jQuery添加动态内容。我的代码会将项目添加到列表中,当您单击该列表中的某个项目时,该项目的内容应该是可见的。现在,当我点击一个项目时,所有项目的内容都会显示出来。我试着加(这个),但没用。
$(document).ready(function() {
var hidden = true;
$("#add").click(function() {
var item = $("#name").val();
var date = $("#date").val();
if(item == "") {
return false;
}
var prependItem =
"<li class='new'>"+
"<button class='btn btn-default' id='check'></button>"+
"<span class='item'> "+item+"</span>"+
"<ul class='sub'>"+
"<li>"+
"Due date: 5/3/2015"+
"</li>"+
"</ul>"+
"</li>";
$(".todo").prepend(prependItem);
$(".sub").hide();
$(".form")[0].reset();
return false;
});
// show sub content
$(".todo").on("click", ".item", function() {
if(hidden == true) {
$(".sub").show();
hidden = false;
}
else {
$(".sub").hide();
hidden = true;
}
});
$(".todo").on("click", "#check", function() {
// line through
})
});
.sub
元素是.item
的兄弟元素,因此除了使用this
获取对引发事件的元素的引用外,还需要使用siblings('.sub')
。您也可以使用toggle()
来简化代码。试试这个:
$(".todo").on("click", ".item", function() {
$(this).siblings(".sub").toggle();
});
sub
是单击的item
的下一个同级,因此您可以像一样使用this
和.next()
// show sub content
$(".todo").on("click", ".item", function() {
$(this).next().toggle();
});
另外,不使用变量来存储隐藏状态,而是使用.thoggle()
使用此
$(".todo").on("click", ".item", function() {
$(this).children(".sub").toggle();
});
相关文章:
- 将FormParams与Jersey和jQuery一起使用
- 存储数据的最佳方式是什么,以便与jquery一起使用
- 在使用 Django 静态文件时动态设置映像时,只有绝对路径才能与 jquery 一起使用
- 使一组对象与 jQuery 一起拖动
- 将(this)与动态内容jQuery一起使用
- 将页面Url与jQuery一起使用
- 如何找到元素'的onClick处理程序实际上是与jQuery一起添加的
- 400错误请求仅使用AngularJs,与jQuery一起使用
- 引导设置单选按钮与 jquery 一起检查
- 将 ajax 与 jQuery 一起使用 - URL 不被接受
- 如何将 fadeIn 与 css 属性更改 jquery 一起使用
- 我应该如何初始化这个变量以与jQuery一起使用
- 单击按钮更改按钮上的 ID 值,单击新 ID 更改回原始 ID 与 Jquery 一起使用
- 将其与伪选择器 jquery 一起使用
- 使类在由 jquery 更新后与 jquery 一起使用
- 如何引用要与 HTML 和 jQuery 一起使用的 XML 文件/数据
- 如何将foreach循环与JQuery一起使用
- 将 $_GET 与 Jquery 一起使用
- 如何将表与 jquery 一起使用
- 将.html与JQuery一起使用,不会将数组中的所有项发布到html