js动态给当前点击元素添加css类
2017-04-18 20:08
537 查看
1.页面:
2.html代码:
3.js代码:
4.实现效果:
并且每次只能选中一个。
2.html代码:
<div class="project-all"> <template v-for='(index,project) in projectData'> <div class="project" v-on:click='projectSelectFun($event,index)'>{{project.projectName}}</div> </template> <div class="project" v-if='addp' v-on:click='addproject'>新增项目</div> <div class="project" v-if='!addp'> <input type="text" class='name-input' placeholder='请填写项目名称' v-on:keyup.enter='saveProjectFun' v-el:addProject> </div> </div>
3.js代码:
<script> export default { components: { }, ready: function() { }, methods: { projectSelectFun: function(e,index) { //标记选中的project,因为selected是动态加载的,所以用el无法拿到当前的dom,因此用querySelector var _dom = document.querySelector('.project.selected'); if (_dom) { _dom.classList.toggle('selected');//当class为project的元素上没有这个CSS类时,它就新增这个CSS类;如果class为project的元素有了这个CSS类,它就是删除它。就是反转操作。 } e.target.classList.toggle('selected'); this.searchData.params.project = this.projectData[index].id; }, }, data() { return { addp: true, //是否显示添加项目 projectData: [{ id: '001', projectName: '假数据1' }, { id: '002', projectName: '假数据2' }, { id: '003', projectName: '假数据3' }, { id: '004', projectName: '假数据4' }, { id: '005', projectName: '假数据5' }, { id: '006', projectName: '假数据6' }, { id: '007', projectName: '假数据7' }, { id: '008', projectName: '假数据8' }], typeData: [{ id: '1', typeName: '需求' }, { id: '2', typeName: '问题' }], } } } </script>
4.实现效果:
并且每次只能选中一个。
相关文章推荐
- 动态添加js、css、meta元素
- jquery on() bind()绑定的点击事件在js动态新添加的元素生效
- js动态添加元素为何 点击事件无效
- jquery on() 给js动态新添加的元素 绑定的点击事件。
- 动态添加元素后 js点击 DOM查找不到
- js为元素动态添加css代码
- 通过js动态为标签元素添加点击事件
- javascript,jquery动态添加dom元素,并设定css属性,点击事件
- 动态添加js、css、meta元素
- js为元素动态添加css代码
- JS动态给元素添加事件处理代码
- JS数组声明技巧、数组动态添加元素
- C#JS动态添加事件,并且获取触发事件的当前node元素
- js动态创建input元素,增加点击事件遇到的问题
- js 动态给元素添加、移除事件
- Ajax或JS动态添加的元素,Jquery效果不起作用
- js动态获取当前点击事件的属性值
- 在Asp.net中动态添加css文件,js文件,控件
- asp.net后台代码动态引用添加JS和css文件