Javascript 咖啡脚本:切换;“真的”;及;假;属性
我知道这应该很容易,但在四处搜索之后,我似乎找不到答案 我想在Javascript 咖啡脚本:切换;“真的”;及;假;属性,javascript,jquery,coffeescript,boolean,Javascript,Jquery,Coffeescript,Boolean,我知道这应该很容易,但在四处搜索之后,我似乎找不到答案 我想在true和false之间切换aria属性的值。我希望有一些简单的方法可以做到这一点,但我只能得出以下结论: if @container.attr('aria-hidden') == 'true' @container.attr('aria-hidden', 'false') else @container.attr('aria-hidden', 'true') 我尝试了一些对值求反的方法,但没有成功(我想字符
true
和false
之间切换aria
属性的值。我希望有一些简单的方法可以做到这一点,但我只能得出以下结论:
if @container.attr('aria-hidden') == 'true'
@container.attr('aria-hidden', 'false')
else
@container.attr('aria-hidden', 'true')
我尝试了一些对值求反的方法,但没有成功(我想字符串布尔值和实数布尔值之间存在问题,我的意思是false
和“false”
)
我希望jQuery能够提供如下内容:
@container.toggleBool('aria-hidden')
没有
toggleBoolean
方法。你所能做的就是:
@container.attr 'aria-hidden', !/^true$/.test(@container.attr('aria-hidden'))
PS:我仍然认为您的代码片段更具可读性,因此首选。没有
toggleBoolean
方法。你所能做的就是:
@container.attr 'aria-hidden', !/^true$/.test(@container.attr('aria-hidden'))
PS:我仍然认为您的代码片段更具可读性,因此首选。没有
toggleBoolean
方法。你所能做的就是:
@container.attr 'aria-hidden', !/^true$/.test(@container.attr('aria-hidden'))
PS:我仍然认为您的代码片段更具可读性,因此首选。没有
toggleBoolean
方法。你所能做的就是:
@container.attr 'aria-hidden', !/^true$/.test(@container.attr('aria-hidden'))
PS:我仍然认为您的代码段更具可读性,因此更可取。从jQuery 1.1开始,接受函数作为第二个参数,其参数是集合中元素的索引位置和旧属性值。那么,像这样的东西(未经测试)呢
从jQuery1.1开始,接受一个函数作为第二个参数,其参数是集合中元素的索引位置和旧属性值。那么,像这样的东西(未经测试)呢
从jQuery1.1开始,接受一个函数作为第二个参数,其参数是集合中元素的索引位置和旧属性值。那么,像这样的东西(未经测试)呢
从jQuery1.1开始,接受一个函数作为第二个参数,其参数是集合中元素的索引位置和旧属性值。那么,像这样的东西(未经测试)呢
我想出了这个解决办法。至少它节省了一些按键
handleEnterAndSpace: ->
@container.attr('aria-hidden', !@isOpen())
isOpen: ->
@container.attr('aria-hidden') == 'true'
我想出了这个解决办法。至少它节省了一些按键
handleEnterAndSpace: ->
@container.attr('aria-hidden', !@isOpen())
isOpen: ->
@container.attr('aria-hidden') == 'true'
我想出了这个解决办法。至少它节省了一些按键
handleEnterAndSpace: ->
@container.attr('aria-hidden', !@isOpen())
isOpen: ->
@container.attr('aria-hidden') == 'true'
我想出了这个解决办法。至少它节省了一些按键
handleEnterAndSpace: ->
@container.attr('aria-hidden', !@isOpen())
isOpen: ->
@container.attr('aria-hidden') == 'true'
如果您发现自己经常这样做,您可以创建一个简单的函数来翻转字符串“真值”,假设字符串总是“真”或“假”:
flip = (x)->{'true':'false', 'false':'true'}[x]
. . .
@container.attr 'aria-hidden', flip(@container.attr('aria-hidden'))
但如果两者都不是,那么它将返回未定义,这可能是您想要的,也可能不是您想要的:
coffee> flip('true')
'false'
coffee> flip('false')
'true'
coffee> flip('abcd')
undefined
如果您发现自己经常这样做,您可以创建一个简单的函数来翻转字符串“真值”,假设字符串总是“真”或“假”:
flip = (x)->{'true':'false', 'false':'true'}[x]
. . .
@container.attr 'aria-hidden', flip(@container.attr('aria-hidden'))
但如果两者都不是,那么它将返回未定义,这可能是您想要的,也可能不是您想要的:
coffee> flip('true')
'false'
coffee> flip('false')
'true'
coffee> flip('abcd')
undefined
如果您发现自己经常这样做,您可以创建一个简单的函数来翻转字符串“真值”,假设字符串总是“真”或“假”:
flip = (x)->{'true':'false', 'false':'true'}[x]
. . .
@container.attr 'aria-hidden', flip(@container.attr('aria-hidden'))
但如果两者都不是,那么它将返回未定义,这可能是您想要的,也可能不是您想要的:
coffee> flip('true')
'false'
coffee> flip('false')
'true'
coffee> flip('abcd')
undefined
如果您发现自己经常这样做,您可以创建一个简单的函数来翻转字符串“真值”,假设字符串总是“真”或“假”:
flip = (x)->{'true':'false', 'false':'true'}[x]
. . .
@container.attr 'aria-hidden', flip(@container.attr('aria-hidden'))
但如果两者都不是,那么它将返回未定义,这可能是您想要的,也可能不是您想要的:
coffee> flip('true')
'false'
coffee> flip('false')
'true'
coffee> flip('abcd')
undefined