нельзя передать текстовую строку в функцию jquery? - PullRequest
3 голосов
/ 10 января 2011

Что не так с моим скриптом jquery?

Вот сценарий

function debug(message){
  $("body").append("<div id=\"debug\">"+ $(message) +"</div>"):
}
debug("show this debug message in the div");

Вот полученный HTML-код

<div id="debug">[object Object]</div>

HTML, который я ожидаю, это

<div id="debug">show this debug message in the div</div>

Ответы [ 2 ]

8 голосов
/ 10 января 2011

Вы конвертируете строку в объект jquery, используя $(message).по сути, вы делаете message уже не строкой, а селектором для jquery.Попробуйте следующее:

function debug(message){
  $('body').append($('<div>').attr('id','debug').text(message));
}

примечание. Я использую .attr и .text, так как это немного безопаснее при добавлении информации.примечание: ID - это уникальный идентификатор в HTML.по этой причине, если вы вызываете эту функцию несколько раз, вы можете назначить perm.div для изменения значения .text() или использования класса отладки [CSS] для div.

4 голосов
/ 10 января 2011

Вы вставляете объект в $ (сообщение) вместо переменной message.Попробуйте это:

    function debug(message){
      $("body").append("<div id=\"debug\">"+ message +"</div>"):
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...