问题人:
点击第一个图片 添加边框 点第二个图片 怎末把第一个边框去掉呢?
回答人:
获取第一个图片的对象
然后去点边框样式
去掉
你这是想实现点击那个 那个就有边框样式吧 其他的没有吧
问题人:
嗯嗯
对
回答人:
你得整体去考虑
不能只想点第二个 去掉第一个 万一是第三个有样式难道还要去在去掉第三个吗 这样考虑实现太累
可以从获取这几个的对象集合 然后循环去掉样式
然后给你点击的加上样式
就是分成两步去考虑
第一步就是把所有的都去掉样式
第二步给点击的元素加上样式
下面将具体过程:
//一个div里面由4张图片,希望效果:点击图片1,图片出现蓝色边框;点击图片2,图片出现蓝色边框,并且其他图片边框消失,效果以此类推,
第一种方法:
//获取class属性相同(此处为都是text)的图片地址
var imgs = $(".test");
//点击图片时
$(imgs[i]).on('click', function () {
//取消边框方法
imgs.each(function(){
$(this).removeClass('border');
});
//点击出现边框方法
$(this).addClass('border');
}
到此处实现了此效果。
第二种方法(取消边框的方法)
var imgs = $(".test");
for (var i = 0; i < imgs.length; i++) {
$(imgs[i]).on('click', function () {
closeborder();
$(this).addClass('border');
})
function closeborder() {
var photos = document.getElementsByClassName("test");
alert(photos.length);
for(var i=0;i $(photos[i]).removeClass('border'); } } /*这个方法还可这样写 function closeborder() { var photos = $(".test"); alert(photos.length); for(var i=0;i $(photos[i]).removeClass('border'); } } */ 下面为具体代码--测试可以用