下面是我的代码:
$("#product1 :checkbox").click(function(){
$(this)
.closest('tr') // Find the parent row.
.find(":input[type='text']") // Find text elements in that row.
.attr('disabled',false).toggleClass('disabled') // Enable them.
.end() // Go back to the row.
.siblings() // Get its siblings
.find(":input[type='text']") // Find text elements in those rows.
.attr('disabled',true).removeClass('disabled'); // Disable them.
});
如何切换.attr('disabled',false);
?
我在谷歌上找不到。
6条答案
按热度按时间rslzwgfq1#
**
.prop()
**方法获取匹配元素集中第一个元素的属性值。参数
name
**(例如disabled
、checked
、selected
)任何可以为真或假的值value
**,可以是:(empty)
返回当前值。boolean
设置属性值。***
function
**为每个匹配的元素调用,返回值用于设置属性。传递了两个参数;第一个参数是 index(数字,从0开始,随着每个找到的元素而增加)。第二个参数是元素的当前 * 值 *(true/false)。所以在这个例子中,我使用了一个函数,它提供了索引(
i
)和当前值(v
),然后我返回了与当前值相反的值,所以属性状态被颠倒了。其他信息
.prop()
方法只获取匹配集合中 first 元素的属性值。对于尚未设置的属性值,或者如果匹配的集合没有元素,则返回undefined。要单独获取每个元素的值,请使用循环结构,例如jQuery的.each()
或.map()
方法。属性对比产品展示
在特定情况下,属性和特性之间的差异可能很重要。在jQuery 1.6之前,
.attr()
方法在检索某些属性时有时会考虑属性值,这可能会导致不一致的行为。从jQuery 1.6开始,.prop()
方法提供了一种显式检索属性值的方法,而.attr()
则检索属性。lyr7nygr2#
我猜要获得完整的浏览器可比性
disabled
应该设置值disabled
或被删除!下面是我刚刚做的一个小插件:
Example link。
编辑:更新了示例链接/代码,以保持可链接性!
编辑2:
根据@lonesomeday的评论,这里有一个增强版本:
qfe3c7zg3#
sauutmhj4#
另一个简单的选项,更新点击复选框。
HTML:
jQuery:
运行中:link
6za6bjd05#
过了一会儿,感谢@阿恩,我创建了这个类似的小函数来处理输入应该被禁用和隐藏,或启用和显示的地方:
然后一个jQuery对象(比如$('input [name=“something”]'))被简单地切换:
qqrboqgw6#
这在
attr
的回调语法中相当简单: