serii81
@serii81
Я люблю phр...

Почему el.remove() is not a function?

У меня на сайте есть форма из плагина.
Я ее вставил через виджет и не могу управлять отображением.
По-умолчанию отображаются лейблы, и они занимают место, посему и разрушается верстка.
Я хочу через jquery взять текст из лейбла, вставить как плейсхолдер и удалить эти лейблы.

let putLabelLoginToInput = function() {
        let labelLogin = $('.login-widget .tml-login .tml-log-wrap label').html();
        $('.login-widget .tml-login .tml-log-wrap input').attr('placeholder', labelLogin);

        let labelPasswd = $('.login-widget .tml-login .tml-pwd-wrap label').html();
        $('.login-widget .tml-login .tml-pwd-wrap input').attr('placeholder', labelPasswd);

        labelLogin.remove();

        // $('.login-widget .tml-login .tml-log-wrap label').remove();
        // $('.login-widget .tml-login .tml-pwd-wrap label').remove();
    };
    putLabelLoginToInput();


На данном этапе, лейблы не удаляются, пишет что
jquery-3.4.1.min.js?ver=5.2.2:2 Uncaught TypeError: labelLogin.remove is not a function


Если я раскомментирую код ниже, то все отработает, только дублируются селекторы.

Почему так происходит?
  • Вопрос задан
  • 1559 просмотров
Решения вопроса 1
Chefranov
@Chefranov
Новичок
Потому что у вас в переменной labelLogin кусок html, а не селектор
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы