Управление “данными” из $ .ajax успех: функция (данные) {

Интересно, могло ли это вызвать больше проблем в этот день и возраста. Помните, что в C (и возможно другие языки) существуют правила, как долго имя функции может быть. Поэтому Вы часто видите очень твердо понимаемые имена в коде C. Хорошая вещь состоит в том, что они не используют много пространства. Но каждый раз, когда я смотрю на код на некотором языке как C# или Java, имена методов часто очень длинны, который делает его близко к невозможному для хранения кода в 80 длинах символов. Я не думаю, что 80 символов допустимы сегодня, если Вы не должны быть в состоянии распечатать код, и т.д.

21
задан OmnipotentEntity 21 December 2013 в 17:09
поделиться

4 ответа

Вам не нужен скрытый DIV. Если вы хотите преобразовать строку html во фрагмент DOM, просто вызовите для него jQuery. В вашем примере:

success: function(data) {
    var jqObj = jQuery(data);
    jqObj.find("li:last").remove();
    $("#id").empty().append(jqObj);
}

Некоторые соображения относительно IE:

  • Если ваши данные большие, jQuerification их на месте в IE выполняется медленно (по крайней мере, с jQuery 1.2.6). В этом случае вы можете создать для него контейнер, например var div = jQuery ("
    "); div.html (data); , затем измените его там перед выполнением $ ("# id"). html (div.html ()) .
  • Если ваши данные содержат недопустимый HTML (незакрытый теги и т. д.) вы можете получить странные сбои в IE. Просто убедитесь, что HTML-код имеет правильный формат.
31
ответ дан 29 November 2019 в 20:12
поделиться

Вы можете создать объект jQuery из произвольного HTML, например:

$('<ul><li>Item</li></ul>');

Итак, вы могли бы сделать что-то вроде этого:

success: function(data) {
  var $list = $(data);

  $list.find('li:last').remove();

  // Do something with $list here, like append().
}

Вот рабочий пример, с которым вы можете поиграть в JS Bin: http://jsbin.com/ejule3/edit

8
ответ дан 29 November 2019 в 20:12
поделиться

возвращаемые данные являются строкой, и их нельзя найти в dom через jQuery, пока они не будут фактически в DOM. Вам нужно будет проанализировать эту строку и извлечь требуемые данные или отредактировать ее после вставки в DOM.

5
ответ дан 29 November 2019 в 20:12
поделиться

Ответ Джея правильный - вам нужно сначала вставить данные HTML в DOM (или проанализировать строку, что кажется громоздким). Что вы можете сделать, так это добавить данные в скрытый DIV , изменить его, затем скопировать данные в другой элемент DOM или просто показать DIV

3
ответ дан 29 November 2019 в 20:12
поделиться
Другие вопросы по тегам:

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