如何使用Jquery链接函数
how to chain functions with Jquery
我想激活可点击链接(边框和链接a
颜色)。边框在单击的链接上切换,但链接的颜色不变。我希望活动链接为黄色#eab000
(边框和链接a
颜色)。非活动链路为黑色404040
(边界和链路a
颜色)
看我的小提琴
我在试
$('ul li').first().css({
'border':'1px solid #eab000',
}).find('a').css({
'color':'#eab000'
});
$('ul li').on('click',function(e){
e.preventDefault();
$(this).css({
'border':'1px solid #eab000',
}).siblings('li').css({
'border':'none',
}).find('a').css({
'color':'#eab000'
});
});
那么,将activeItem更改为已单击的li上如何?
$('ul li').on('click',function(e){
e.preventDefault();
$(this).siblings().removeClass("activeItem");
$(this).addClass("activeItem");
});
JSFiddle此处
或者更好的是,如果你正在进行链接:
$('ul li').on('click',function(e){
e.preventDefault();
$(this).addClass("activeItem").siblings().removeClass("activeItem");
});
链接
我应该指出,我添加了以下CSS:
ul li.activeItem
{
border: 1px solid #eab000;
}
ul li.activeItem a
{
color:#eab000;
}
您可以使用
$('ul li').first().css({
'border':'1px solid #eab000',
}).find('a').css({
'color':'#eab000'
});
$('ul li').on('click',function(e){
e.preventDefault();
$(this).css({
'border':'1px solid #eab000',
}).find('a').css({
'color' : '#eab000'
}).parent().siblings('li').css({
'border':'none',
}).find('a').css({
'color':'#404040'
});
});
您使用".s兄弟姐妹"作为"非活动"链接,然后将其锚定颜色设置为您的活动颜色。通过在使用"同级"之前设置锚点,然后使用"父级",可以在链中保持一致级别。
看看你的小提琴,修好了,在这里
然而,在代码中使用特定颜色会使这种结构有点脆弱。其他示例中显示的添加/删除类是一个更可持续的解决方案。
思考每个方法的结果,以及下一个方法的结果:
css
=out:与in相同,因此为了清晰起见忽略
this
=out:li
点击siblings
=in:li,out:li
的其他li
s点击find
=in:其他li
s,out:其他li
s下的所有a
s
如果您向上移动find
:
$(this).css({
'border':'1px solid #eab000',
}).find('a').css({
'color':'#eab000'
}).siblings('li').css({
'border':'none',
});
为了匹配.first
,那么a会起作用,但兄弟姐妹不会像现在这样:
this
=out:li
点击find
=in:点击的li
,out:点击的所有li
下的a
siblings
=输入:"a",输出:无(假设)
因此,理想情况下,在兄弟姐妹之前,您希望以某种方式"取消"以前的find
,幸运的是jquery只有这个:.end()
您可以将其应用于原始(查找a
,然后返回查找兄弟姐妹)或(查找兄弟姐妹,然后返回寻找a
)
这是丢失的额外变色
$(this).css({
'border':'1px solid #eab000',
}).find('a').css({
'color':'#eab000'
})
.end()
.siblings('li').css({
'border':'none',
}).find('a').css({
'color':'#404040'
});
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 锚链接无法使用.slideUp jquery函数
- JavaScript链接在点击时不起作用;函数在页面加载时工作
- 在什么情况下需要同时使用compile&链接函数的角度
- 外部链接的Javascript文件赢得't执行,但函数有效
- jquery:如何链接函数
- 角度指令's链接函数未被调用
- 将重定向URL链接添加到JS函数
- 使用getter和setter实现函数链接的方法
- Javascript函数链接
- 如何仅使用一个函数链接表单
- 绑定函数链接
- 我可以将变量控制器函数传递给指令中的函数链接吗?
- 所有过渡完成后的转换函数链接
- 如何在html中的href atribute上提供函数链接
- 创建与其他函数链接的函数对象
- 第一个JavaScript函数/链接停止工作
- Bootstrap 3和ScrollTop函数:#链接冲突
- 使用函数链接承诺
- 一元函数链接器javascript