setAttribute не работает

0

Я делаю плагин для проверки формы как практики, но по какой-то причине после того, как я создаю элемент h2 и пытаюсь установить его атрибут, он не работает. Вот код

    var testing = function(regex, value, error_msg, error_msg_field_id){
        var pattern = new RegExp(regex);
        if (!pattern.test(value)){
            var ele = document.createElement("H2");
            var node = document.createTextNode(error_msg);
            ele.setAttribute('style', 'color:white');
            alert("hi");
            jQuery(error_msg_field_id).append(node);
        }
    }

текст появляется без проблем, но он не белого цвета. Это не имеет никакого смысла для меня

Теги:

1 ответ

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

Вы правильно используете setAttribute, но вы устанавливаете свойство на свой h2-элемент, который никогда не вставлен в DOM.

Вы можете изменить и упростить соответствующий раздел своего кода, чтобы:

var ele = document.createElement("H2");
ele.textContent = error_msg;
ele.setAttribute('style', 'color:white');
jQuery(error_msg_field_id).append(ele);

Использование jQuery здесь также не обязательно. Вы можете просто использовать

document.querySelector("#" + error_msg_field_id).appendChild(ele);

что одинаково просто.

  • 0
    Привет, есть ли преимущество в использовании этого вместо jQuery?
  • 3
    1. Вам не нужен jQuery;) Это означает, что вы можете обойтись, включая библиотеку почти 100 КБ. 2. Использование нативного javascript почти наверняка быстрее, чем прохождение через jQuery. 3. Вы можете чувствовать себя хорошо, потому что вы использовали нативный JavaScript для чего-то, что другие обращают к библиотекам.
Показать ещё 2 комментария

Ещё вопросы

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