我被要求识别Asp.Net页面中的所有只读文本框并指定特定样式。我很确定我可以迭代所有输入,看看它们是否是带有readonly属性的文本框的输入,但我只知道有一个单行。
有什么想法吗?
答案 0 :(得分:22)
答案 1 :(得分:6)
从技术上讲,这应该足以限制只读文本输入:
$(':text[readonly]'); // equivalent to $('*:text[readonly]')
但如果是我,我想更具体一点,并且包含一个标签(jQuery也推荐它):
$('input:text[readonly]');
同样根据jQuery documentation,在现代浏览器中使用类型属性选择器而不是:text
会更快:
$('input[type=text][readonly]');
我使用[readonly]
而不是[readonly=readonly]
来测试属性的存在,而不是它的值。
答案 2 :(得分:4)
$.extend($.expr[':'],{
readonly: function(obj) {
return $(obj).is('[readonly]');
}
});
$('input:text:readonly');
这是我找到的最佳方式。
答案 3 :(得分:2)
尝试下面的
$('input[Type="text"]&[readonly="readonly"]')