Как добавить атрибут, отличный от атрибутов стиля, в CSS?

0

Я работаю над программой html/css/javascript, которую вы можете решить sudokus, которую генерирует программа, например, онлайн-головоломку. Из-за этого у меня много, если теги <input/> (точнее, 81) для уникального идентификатора для каждого из них. Но мне также пришлось написать атрибут maxlength для каждого <input/> который я написал.

Мне интересно, можете ли вы сделать это в css вместо этого. Можете ли вы иметь атрибуты других атрибутов стиля (например, border или margin) в CSS? Если да, то как вы ссылаетесь на них? Я попытался ввести его напрямую, но, похоже, его не существует.

Входной тег моего экзамена: <input id="00" type="text" onclick="checkIfBold('00')" maxlength="1"/>

CSS для тега:

input {
    border: 0px solid #000;
    width: 100%;
    height: 100%;
    font-size: 200%;
    text-align: center;
}

Моя цель - установить атрибут maxlength элемента <input/> с помощью CSS.

Обратите внимание, что я не просто спрашиваю об этом конкретном атрибуте, я спрашиваю, как ссылаться на любой другой атрибут html в css (если это возможно)?

  • 0
    Вы спрашиваете, например, как установить максимальную длину для всех входных данных с помощью CSS вместо встроенного? Поскольку вы используете Javascript, подойдет ли вам решение JS / jQuery?
  • 0
    Да, но я бы предпочел использовать CSS.
Показать ещё 5 комментариев
Теги:

4 ответа

1
Лучший ответ

Основываясь на моем комментарии выше:

Вы не можете сделать это с помощью CSS, но это очень просто сделать с jQuery...

$(document).ready(function() {
    $("input").attr('maxlength','1');
});

Выключите '1' с любым номером, на который вы хотите установить максимальную длину, и вы также можете отключить 'maxlength' с любым другим атрибутом, для которого вы хотите настроить таргетинг.

  • 0
    Хорошо, хорошо, спасибо за вашу помощь. Я думаю, мне просто нужно будет использовать Javascript или просто ввести каждый элемент отдельно.
  • 1
    @ Арбитр Нет проблем, удачи!
5

Вы не можете. CSS предназначен для определения того, как должны выглядеть вещи. maxlength определяет, как работает вход. maxlength определяет функциональность. Если вы хотите указать ввод определенного (визуального) размера, используйте свойство CSS width.

  • 0
    sry, я скучаю, понял, что вопрос становится красным
0

Это невозможно с помощью CSS. Вы можете использовать javascript/jQuery.

Вот пример для jQuery:

$('input[type="text"]').attr('maxlength', '1'); 
  • 0
    Я думаю, что вопрос заключается в том, чтобы получить (ложное) представление о том, что каждый атрибут может или должен быть определен в CSS. Поскольку это невозможно, вы также можете добавить атрибуты в HTML. Для этого не нужно писать Javascript, особенно если эти 81 входные данные генерируются серверным скриптом. Но приятно знать как. :)
  • 0
    @GolezTrol Я согласен, что в JS нет необходимости , но, поскольку кажется, что целью OP является экономия времени / усилий при ручном наборе (копировании / вставке) атрибутов maxlength для каждого элемента, этот ответ в конечном итоге сделает это ...
Показать ещё 1 комментарий
0

Используйте квадратные скобки для выбора атрибутов в CSS. Имейте в виду, что здесь у вас нет большой свободы. В принципе, вы можете сказать:

[border]{
  /*styles for elements with a border*/
}

или

[border=1px solid black]{
  /*styles for elements with a border of EXACTLY 1px solid black, in that order*/
}

нет никаких подстановочных знаков или частичных совпадений. Вероятно, Javascript может выбрать более конкретно или изменить что-либо, кроме стилей.

  • 0
    Я думаю, что вы, возможно, неправильно поняли вопрос. OP не хочет выбирать элементы с определенными атрибутами, но устанавливает эти атрибуты.
  • 0
    Ах я вижу. Фундаментальное понимание вопроса тогда. Атрибуты стиля - это css, а css - это атрибуты стиля, не более того.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню