利用html5中的classList.toggle实现给单击过得元素添加动态class类,并且每次只能选中一个

1.页面:

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;
    },
    typeSelectFun:function(e,index){
      var _dom = document.querySelector(‘.type.selected‘);
      if (_dom) {
        _dom.classList.toggle(‘selected‘);
      }
      e.target.classList.toggle(‘selected‘);
      this.searchData.params.type = this.typeData[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.实现效果:

并且每次只能选中一个。

时间: 2024-08-28 17:26:40

利用html5中的classList.toggle实现给单击过得元素添加动态class类,并且每次只能选中一个的相关文章

javascript中如何让两个radio同时只能选中一个

<html> <head> <title>测试</title> </head> <body leftmargin="0" topmargin="0"> <form> <input type="radio" name="sex1" value="male">Male <br> <input typ

如何解决FormView中实现DropDownList连动选择时出现 "Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用" 的错误

原文:如何解决FormView中实现DropDownList连动选择时出现 "Eval().XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用" 的错误 FormView控件是可及显示.修改.添加.删除为一体的控件,感觉很好用,可是昨天发现了一个可以说是它的一个Bug吧,我是想要实现下拉框的联动效果,比如在A下拉框选择了省对应B的下拉框会把对应A中省的市显示在B下拉框中,我想要实现的是校区和对应校区建筑的联动效果,单纯的这种效果很好实现比如下面的代码  

第88天:HTML5中使用classList操作css类

在HTML5 API里,页面DOM里的每个节点上都有一个classList对象,程序员可以使用里面的方法新增.删除.修改节点上的CSS类.使用classList,程序员还可以用它来判断某个节点是否被赋予了某个CSS类. 一.Element.classList 这个classList对象里有很多有用的方法: 1 { 2 length: {number}, /* # of class on this element */ 3 add: function() { [native code] }, 4

利用html5中的localStorage获取网页被访问的次数

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <div id="box"></div> <script type="text/javascript"> function setStorage(){

html5中哪些是不同的新的表单元素类型

新的input的类型有 email(自动验证email格式) url(自动验证url格式) number(只能输入数字) range(类似音量滑动条) Date pickers (date, month, week, time, datetime, datetime-local)(自带日期选择) search(搜索域,类似百度的类似搜索提示) color(颜色选择,这个现在不兼容大部分浏览器=-=) 新标签 datalist(自动验证内容是否在可选择选项中) keygen output (这俩我

jQuery实现table中两列CheckBox只能选中一个

//html <table id="unit"> <tr> <th>选项一</th> <th>选项二</th> <th>姓名</th> </tr> <tr> <td><input type="checkbox" /></td> <td><input type="checkbox&quo

HTML5 中 40 个最重要的技术点

原文地址:http://www.oschina.net/news/56236/40-important-html-5-interview-questions-with-answers 介绍 我是一个ASP.NET MVC的开发者,最近在我找工作的时候被问到很多与HTML5相关的问题和新特性.所以以下40个重要的问题将帮助你复习HTML5相关的知识. 这些问题不是你得到工作的高效解决方案,但是可以在你想快速复习相关主题的时候有所帮助. 快乐地找工作. SGML(标准通用标记语言)和HTML(超文本

HTML5中新加的标签和属性定义

HTML5 <!DOCTYPE> 标签所有主流浏览器都支持 <!DOCTYPE> 声明.<!DOCTYPE> 声明非常重要,它是一种标准通用标记语言的文档类型声明,通过该标签,浏览器能够了解HTML5文档正在使用的HTML规范,<!DOCTYPE> 声明是HTML5文档的起始点,也就是说它必须位于HTML5文档的第一行!标签定义及使用说明:<!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前.<!DO

HTML5中class选择器属性的解释

设置有class属性值的元素,可以被css中的选择器调用,也可以在javascript中以getElementsByClassName()方法调用. 可以给各个元素添加class而且名称可以相同与id正好相反,id属性一般建议少用,在小型网站中页面元素不多的情况下我们推荐是id,而在大众型网站我们推荐使用class 如: <div id="box">HTML5</div> 复制代码 class选择器 <div class="box"&g