宝贵的一票
发布时间 2023-06-08 11:04:30作者: GTK
习题链接
宝贵的一票
任务
我们现在要完善一个投票模块
我们可以进行添加选项,当选项超过两个的时候显示删除选项的图标
当点击删除图标,会删除当前的图标,下面的选项自动浮上来,并文字内容保留,选项还是保持正常顺序
分类 jQuery
关键点
- jQuery中标签选择器
- 通常的语法$(selector)
- 属性选择器 .class #id [attart] [attart=value]
- 包含选择器:has()
- 位置选择器 p:firset-child 第一个子元素 first last 第一个 最后一个 p:nth-child(odd)奇数行 p:even奇数行
- jQuery中each遍历
- $(el).each((index,item)=>{})
- index是指的第几个元素
- item指的当前元素
- 在遍历中使用return false;等同于break是结束循环
- 添加删除元素
- 使用el.append 添加到el元素内的最后的位置
- 使用el.remove 将el元素删除
代码实现 && 完整的代码
- 完成CODE
// 添加
$(".add").click(function () {
// TODO 待补充代码
let len = $('.list .mb-3').length;
let initList = initRender(`选项${len+1}`);
$(".list").append(initList);
if( len+1 > 2){
$('.list .col-sm-1').remove();
let template = `<div class="col-sm-1"><img class="del-icon" src="./images/x.svg" alt="" /></div>`
$('.list .mb-3').each((index,item)=> $(item).append(template) )
}
});
// 删除
$(document).on("click", ".del-icon", function () {
// TODO 待补充代码
$(this).parent().parent().remove();
let len = $('.list .mb-3').length;
if(len <= 2) $('.list .col-sm-1').remove();
$('.list .mb-3').find('.col-sm-2').each((index,item)=> $(item).text(`选项${index+1}`))
});