JS Как получитьElementById во фрагменте HTML - PullRequest
0 голосов
/ 03 апреля 2012

Я загружаю кусок HTML через ajax. Как только загрузка будет завершена, я хотел бы найти ответ для div определенного идентификатора. В принципе, я хотел бы сделать response.getElementById.

Есть ли способ сделать это?

Ответы [ 4 ]

1 голос
/ 03 апреля 2012

Вы можете сделать это:

$.get({
    url: url, 
    success: function(response) {
        result = $(response).find("#result");
        if (result) {
           // found
        } else {
           //not found
        }
    }
});

при этом используется .find () для поиска id (#) из result в response

0 голосов
/ 03 апреля 2012

Вы можете добавить его в ответ html в виде div или фрейма и на некоторое время сделать его невидимым.тогда вы можете использовать обычный getElementById.Более быстрый путь - с помощью jQuery.

- jQuery -
Оставьте открытым <div id=AjaxResponse> </div>, затем в случае успеха добавьте $("#AjaxResponse").html(data), тогда вы можете использовать обычный getElementById() или $("#AjaxResponse#myId") Но не забудьтеустановить невидимый или enabled = "false" вышеупомянутый div

0 голосов
/ 03 апреля 2012

Это зависит от запроса aja (x). Если вы загружаете XML, вы можете напрямую использовать метод getElementById документа xhr.responseXML.

Если нет, вам придется проанализировать фрагмент HTML. Это можно сделать с помощью DOMParser, innerHTML элемента или функции парсера вашей любимой библиотеки.

0 голосов
/ 03 апреля 2012

Я бы предложил метод load () через jQuery:

$(function(){
    $('#container_id').load('my_file.html #id_of_div');
});

Дополнительная документация: jQuery load ()

...