b.createDocumentFragment не является функцией (jQuery) - PullRequest
4 голосов
/ 10 августа 2011

Я играю с функцией и получаю

b.createDocumentFragment is not a function (jQuery)

Моя функция

function tweetCount(url) {  
    $.getJSON("http://urls.api.twitter.com/1/urls/count.json?url="+url+"&callback=?", function(data) {
      count = data.count
      $(this).append(count);
   })
}

Я пробовал много разных способов, но, похоже, не могу найтипочему это не нравится "добавить".«count» - это число, и что-то вроде alert (count) работает, но не добавляет!

Любая помощь ?!Alex

1 Ответ

5 голосов
/ 10 августа 2011

Я не думаю, что this относится к тому, что вы думаете. Измените $(this) на явную ссылку на нужный элемент DOM.

Кроме того, вы можете определить this, вызвав:

tweetCount.call($("#element"), url)

Редактировать

Попробуйте это:

$("span.tweetcount").each(function(){
    url = $(this).attr('title');
    tweetCount.call(this, url);
});

Или, чтобы сэкономить место:

$("span.tweetcount").each(function(){
    tweetCount.call(this, $(this).attr('title'));
});

Редактировать 2:

Попробуйте заменить tweetCount на это:

function tweetCount(url) {  
    var that = this;
    $.getJSON("http://urls.api.twitter.com/1/urls/count.json?url="+url+"&callback=?", function(data) {
        count = data.count;
        $(that).append(count);
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...