扫码关注官方订阅号
用 jquery addClass与removeClass但第一个li想保持点击后的效果 不会写了。请教下各位大神。我的代码如下
html
·xxxxxxxx
JQ
想给a加个class 默认第一个是点击后的效果。点击第二个li 第一个li的class的去除。
小伙看你根骨奇佳,潜力无限,来学PHP伐。
HTML:
<p id="con_vdjs_1" style="display: block;"> <ul id="tab2"> <li class="123"><a href="#" title="title">xxxxxxxx</a></li> <li class="123"><a href="#" title="title">xxxxxxxx</a></li> <li class="123"><a href="#" title="title">xxxxxxxx</a></li> </ul>
CSS:
// 被选中的元素高亮 .cur a{ color:red; }
JS:
$(document).ready(function() { // 在父元素上 对元素 a 进行事件代理,即当元素a被点击时,事件冒泡到父元素,执行如下方法 $("#tab2").on("click", "a", function() { $(this).parent().siblings('li').removeClass('cur'); // 去除其他的高亮 class $(this).parent().addClass('cur'); // 添加当前元素的样式 }) });
那为什么不直接在第一个li后面加上class="cur"?还有不要给每个li都添加点击事件,采用事件代理的方法
document.getElementById("con_vdjs_1").addEventListener("click",function(e) { // 检查事件源e.targe是否为Li if(e.target && e.target.nodeName.toUpperCase == "LI") { // 真正的处理过程在这里 } });
最简单的就是在第一个元素上单独加一个点击后样式的class
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
HTML:
CSS:
JS:
那为什么不直接在第一个li后面加上class="cur"?
还有不要给每个li都添加点击事件,采用事件代理的方法
最简单的就是在第一个元素上单独加一个点击后样式的class