установить атрибуты элемента с помощью свойства CSS, это возможно? - PullRequest
0 голосов
/ 08 декабря 2010

код 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 в основных браузерах?

Ответы [ 3 ]

2 голосов
/ 08 декабря 2010

Ваш код, скорее всего, не работает, потому что "max-length" не является допустимым атрибутом CSS. Я предполагаю, что jQuery возвращает false, когда вы пытаетесь прочитать свойство CSS с этим именем. Это false затем интерпретируется как 0, которое применяется к maxlength.

входа.

maxlength является допустимым атрибутом для input, и все, что ему нужно, это целое число для значения. Пока вы можете получить это из атрибута CSS, нет никаких причин, по которым он не будет работать. Например, если вместо этого вы берете вычисленную ширину CSS и проанализируете ее как целое число, вы можете установить максимальную длину ввода для этого значения. http://jsfiddle.net/sdq7H/

1 голос
/ 08 декабря 2010

Полагаю, вы хотите сделать это в CSS, чтобы вы могли контролировать максимальную длину всех этих текстовых полей из одного места? Большинство серверных языков предлагают повторно используемые элементы управления для этой цели. CSS - неподходящий инструмент для этой работы. Если вы должны сделать это на стороне клиента, в чем проблема, если вы просто делаете что-то вроде этого ...

$('input:text.long').attr('maxlength', 50);
$('input:text.short').attr('maxlength', 4);
1 голос
/ 08 декабря 2010

Я не думаю, что это правильно

неверна максимальная длина

$('input:text.long').css('max-length')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...