CSS代码
input.long{
width:50%;
max-length:50;
}
input.number{
width:4em;
max-length:4;
}
应用html代码,
Title : <input type='text' class='long'/>
Phone : <input type='text' class='short'/>-<input type='text' class='short'/>-<input type='text' class='short'/>
一个脚本(简单地使用 jquery)在 css 中应用属性,
$('input:text.long').attr('maxlength',$('input:text.long').css('max-length'));
$('input:text.short').attr('maxlength',$('input:text.short').css('max-length'));
适用于 IE,但不适用于其他浏览器。 我可以在主要浏览器上通过 css 属性设置单个或多个元素属性吗?
最佳答案
您的代码很可能不起作用,因为“max-length”不是有效的 CSS 属性。我的猜测是,当您尝试通过该名称读取 CSS 属性时,jQuery 会返回 false
。此 false
然后被解释为 0
,它应用于输入的 maxlength
。
maxlength
是 input
的有效属性,它所需要的只是一个值的整数。只要您可以从 CSS 属性中获取它,就没有理由不起作用。例如,如果您取而代之的是计算出的 CSS 宽度并将其解析为整数,则可以将输入的最大长度设置为该值。 http://jsfiddle.net/sdq7H/
关于jquery - 通过 CSS 属性设置元素属性,这可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4383386/