删除不起作用的li元素
Remove a li element not working
当我点击li元素时,我需要删除它。起初代码运行良好,然后当我放入项目时,remove函数不起作用。我把我的代码放在小提琴上,什么都不管用了。我搜索了所有的网站并试图修复,但什么都不起作用,请向我解释,因为我对jquery&java脚本。
这是我在fiddle上的代码:http://jsfiddle.net/cyrzbvwe/
我的HTML想要:
<ul class="listcheckbox">
<li class="clearfix">
<input type="checkbox" id="chk1" name="timetable" />
<label for="chk1">9-10g <span class="pull-right"></span>
</label>
</li>
<li class="clearfix">
<input type="checkbox" id="chk2" name="timetable" />
<label for="chk2">10-11g <span class="pull-right"></span>
</label>
</li>
<li class="clearfix">
<input type="checkbox" id="chk3" name="timetable" />
<label for="chk3">11-12g <span class="pull-right"></span>
</label>
</li>
<li class="clearfix">
<input type="checkbox" id="chk4" name="timetable" />
<label for="chk4">12-13g <span class="pull-right"></span>
</label>
</li>
<li class="clearfix">
<input type="checkbox" id="chk5" name="timetable" />
<label for="chk5">13-14g <span class="pull-right"></span>
</label>
</li>
<li class="clearfix">
<input type="checkbox" id="chk6" name="timetable" />
<label for="chk6" class="item">14-15g <span class="pull-right"></span>
</label>
</li>
这里的脚本
$(document).ready(function () {
$('input[name="timetable"]').change(function () {
if ($(this).is(':checked')) {
$('#timeselect').append($('<li class="clearfix delete">' + $('label[for="' + this.id + '"]').text() + '<img src="delete.png" class="pull-right" /></a></li>'));
$(this).attr('disabled', true);
}
});
$('#timeselect').on('click', 'li.delete', function () {
var time = $(this).text().trim();
var idTime = '#' + $('label').filter(function () {
return this.firstChild.nodeValue.trim() === time;
}).attr('for');
$(idTime).prop('checked', false);
$(idTime).attr('disabled', false);
$(this).remove();
});
});
喜欢@JoakimM和@PplingLearner的评论。结果我忘了在jsFiddle 中包含jquery
但我遇到的问题是,当我添加更多带有标签的复选框时,删除功能无法再次工作。这里是代码:http://jsfiddle.net/ptrpzvLv/
我像@JoakimM所说的那样调试,结果发现一些标签元素不包含Value,所以trim()函数出错并停止了。。。
我所做的是让它在var idTime = '#' + $('label').filter
到var idTime = '#' + $('ul.listcheckbox label').filter
这条线上更加清晰
我真的很感激你的帮助。
相关文章:
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- 完全可链接的li元素
- tiltSlider播放/暂停视频元素(如果li有当前类)
- 使用li元素的html内容更改该元素的背景
- 需要在量角器中找到使用ng中继器的li元素的数量
- 根据输入值创建li元素
- 要更改变量的高度li元素
- 为li元素添加标题
- 在不使用sort()的情况下获取HTML LI元素的副本
- 自动完成搜索无法正常工作,请不要迭代$中的所有元素.每个ul-li都会及时显示响应
- 将内容从 JSON 数组附加到 li 元素
- 使用 JavaScript 获取多元素 Li
- 灯箱“下一个”功能仍然显示已隐藏的元素 (li) 显示:无;
- 如何在嵌套列表中获取父元素li的值
- jQuery在父元素li的子元素ul中都没有得到元素
- 如果父元素li有class,将class附加到子元素
- 切换多个元素(li),除了被单击的元素
- 如何在Asp.Net中更改html元素(li)类
- 通过调整元素(li)的大小's边缘
- jQuery从数组中设置元素li数据