为什么val()在列表上工作但属性不起作用?

时间:2015-12-14 06:52:13

标签: jquery coffeescript

这是我的coffeescript

name     = @$ '#require-name'
console.log name.val()

显然name是一个元素列表。但是val()可以正确返回列表中唯一元素所持有的值。

但是如果我想得到这个元素的属性的值,我得到undefined。这是为什么?

enter image description here

在代码的其他部分,我想单独引用此元素#require-name。所以我把它写成

name     = @$('#require-name')[0]

对我来说感觉不是很优雅。我想取消索引([0]),因为只有这一个元素。有没有更好的方式表达这个?

1 个答案:

答案 0 :(得分:0)

$('#require-name')返回jQuery对象,因此.val()用于获取值。在@$('#require-name')[0]返回基础DOM元素的位置,您可以访问name.checked

等属性

或者,您可以使用.prop()方法

$('#require-name').prop('checked')