JS добавить текст в сгенерированный AJAX DIV - PullRequest
0 голосов
/ 17 февраля 2019

нужна помощь, как добавить пользовательское текстовое значение в сгенерированное Ajax текстовое поле ввода.Но не может получить элемент по идентификатору или классу, ни один код не работает.Пробовал код, который проверяет, если регулярная цена не пуста, то нужно добавить текст в поле, но это не работает.

<script type="text/javascript">
        if($("#_regular_price").length > 0) { 
            $("#snippet-editor-field-description").text('labas')
        };
</script>

Пробовал также этот код, чтобы проверить, работает ли хотя бы с предупреждением, но это не так.

<script type="text/javascript">

    $('#snippet-editor-field-description').click( function() { 
        alert('clicked'); 
    });

</script>

Любой может спросить, как получить элемент и добавить пользовательский текст перед Excerpt.где отмечен желтый?

enter image description here

1 Ответ

0 голосов
/ 18 февраля 2019

Самая большая проблема, которую я вижу, состоит в том, что ваш код jQuery запускается при инициализации DOM, но если искомый элемент (#snippet-editor-field-description) не загружается при начальной загрузке страницы, он никогда не найдет его, потому чтоjQuery анализирует DOM только один раз.

Для обработки этого jQuery использует метод .on () , который будет искать любые новые элементы, добавленные в DOM, динамически соответствующие этому селектору..

<script type="text/javascript">

    $(document).on('click','#snippet-editor-field-description', function() { 
        alert('clicked'); 
    });

</script>


Что касается того, чтобы сделать что-то, когда этот элемент был добавлен в DOM, к сожалению, jQuery устарел, поскольку эта функция ( обнаружение jquery div определенного класса былодобавлен в DOM ), поэтому вы можете реализовать его вручную, как показано в связанном вопросе SO, или ...

  1. Опрос на наличие элемента

setInterval(function (){
        var elem = $("#snippet-editor-field-description");
        if (elem) elem.append('labas');
},1000)
Используйте плагин (рекомендуется в этом случае)

jQuery Initialize

$("#snippet-editor-field-description").initialize(function (){
   $(this).append('labas');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...