Как получить текст из динамически созданного элемента в JavaScript - PullRequest
0 голосов
/ 06 ноября 2019

Я динамически создаю Div Text в JS, и мне было интересно, как я могу получить доступ к различным текстам при нажатии.

Вот что я пробовал до сих пор;

Мой динамически созданdiv

function Message(Side, message) {

var divChat = '<div class="direct-chat-msg ' + Side + '">' +
                  '<div id="myDiv" class="direct-chat-text">' + message + '</div>' +

                    '<div id="accountMenu">' +
                    '<li onclick = "getMessage(' + message + ')" id="replyDiv">Reply</li>' +
                    '<li>Preferences</li>' +
                    '</ul>' +
                    '</div></div>';

    $('#divChatWindow').append(divChat);

}

JS при нажатии li .

 function getMessage(str) {
     alert(str);
 }

Ошибка, которую я получаюэто:

Uncaught ReferenceError: *whaeverthemessageis* is not defined
    at HTMLLIElement.onclick

Как лучше всего решить эту проблему?

Спасибо =)

Ответы [ 2 ]

2 голосов
/ 06 ноября 2019

Вы неправильно сформировали HTML, используя одинарные и двойные кавычки. Сообщение обрабатывается как переменная, а не строка, поэтому неопределенная ошибка.

заменить:

'<li onclick = "getMessage(' + message + ')" id="replyDiv">Reply</li>' +

на:

'<li onclick = "getMessage(\'' + message + '\')" id="replyDiv">Reply</li>' +
0 голосов
/ 06 ноября 2019

Я не совсем уверен, в чем проблема, но вот рабочий Playcode

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...