如何用vue.js给点过的li添加单独的class

如何用vue.js给点过的li添加单独的class,第1张

一组li,这个li不是v-for出来的。是直接写死的。为什么不用v-for,li里面的结构不一样,

给所有的li添加点击事件 tanchu(),给点击的当前li添加一个class;

现在点击之后所有的都会添加这个class;

Vue.js(读音 /vjuː/, 类似于view)是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。

Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件

javascript中className属性可以获取和设置对象的类名,下面进行实例演示:单击li元素,该元素在red类之间切换(即单击一次显示红色,再次单击恢复原来的颜色,如此循环)。

1、HTML结构

<ul>

<li>Glen</li>

<li>Tane</li>

<li>John</li>

<li>Ralph</li>

</ul>

2、主要的css类

li{margin:5pxlist-style: none}

.red{color:red !important}

3、javascript代码

window.onload = function(){

obj_li = document.getElementsByTagName("li") // 获取li对象数组

for(k in obj_li)

obj_li[k].onclick=function(){  // 为每个li注册单击事件

this.className = this.className == "red"? "" : "red"    // 如果当前类为red,则取消当前类;否则,为当前元素添加red类

}

}

4、效果展示

思路:点击当前li元素后是用removeClass()删除所有兄弟元素(使用siblings()获取)的class样式,然后使用addClass()为当前li添加class。

具体演示如下:

1、HTML结构:设计三个li元素

<ul id="test">

    <li>Glen</li>

    <li>Tane</li>

    <li>John</li>

</ul>

2、css样式:设计一个类selected,表示选中后的效果

<style>

.selected{font-weight:boldbackground: #ff99cccolor:#fff}

</style>

3、jquery代码:

$(function(){

    $("#test li").click(function() {

        $(this).siblings('li').removeClass('selected') // 删除其他兄弟元素的样式

        $(this).addClass('selected')                            // 添加当前元素的样式

    })

})

4、效果演示:


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11927277.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存