Javascript - применение класса к тегу HTML с учетом атрибута / значения

Я пытаюсь динамически применять стили к тегам HTML, считывая значения определенных атрибутов HTML и применяя имя класса на основе их значений. Например, если у меня есть:

<p height = "30">

Я хочу применить к этому абзацу class = "h30", чтобы я мог стилизовать его в своей таблице стилей. Я не могу найти никакой информации о получении значения атрибута, отличного от id или class. Помощь?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
0
2 810
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Атрибуты - это просто свойства (обычно). Так что просто попробуйте:

for (e in ...) {
    if (e.height == 30) {
        e.className = "h30";
    }
}

Или используйте что-то вроде jquery, чтобы упростить подобные вещи.

См .: getAttribute (). Параметр - это имя атрибута (без учета регистра). Возвращаемое значение - это значение атрибута (строка).

Обязательно посмотрите Замечания в MSDN, прежде чем работать с IE ...

Ответ принят как подходящий

Я настоятельно рекомендую использовать что-то вроде jquery, где добавление классов тривиально:

$("#someId").addClass("newClass");

так что в вашем случае:

$("p[height='30']").addClass("h30");

таким образом, выбираются все теги абзацев, у которых атрибут высоты равен 30, и к ним добавляется класс h30.

Лучше разделить макет и презентацию.

Несмотря на использование CSS, вы связываете эти два аспекта вместе. Используйте лучшие имена классов (почему у него должна быть высота 30 пикселей? Это строка меню? Нижний колонтитул? Баннер?)

Другие вопросы по теме