2014-01-14 2 views
-2

У меня есть сценарий, который использует AJAX для извлечения информации из php-файла с именем names.php.Как скрыть элемент, загруженный через Ajax?

Далее по сценарию я использую JQuery в $ (document.ready (функция() {}); чтобы попытаться скрыть DIV на нагрузке DOM

По какой-то причине $ ("ДИВ") скрыть..() не выполняется после вызова AJAX.

Может ли кто-нибудь помочь мне понять почему? Я знаю, что после вызова AJAX вы должны привязывать элементы к своим обработчикам событий, но им интересно, как это возможно сразу после загрузки страницы.

Мой сценарий

index.html

<body onload="getNames()"> 

JQuery скрипт

function getNames() 
{ 
    function AJAX() 
    { 
     $.ajax({ 
      type: "GET", 
      url: "names.php", 
      data: namesVariables, 
      success: function (retrievedData) 
      { 
       console.log(retrievedData); 
       jQuery("div").html(retrievedData); 
      } 
     });  
    } 
} 

$( document).ready(function() 
{ 
     $("div").hide(); 
}); 
+1

Где и как вы называете AJAX() - только объявление функции не запустите его – mplungjan

+0

Этот код должен работать нормально, предполагая, что div, который вы пытаетесь настроить, существует на dom ready. –

+0

@mplungjan Это никогда не будет. Кроме того, объявление 'AJAX()' (которое использует селектор jQuery) вне блока кода jQuery может не помочь. –

ответ

1

Если вы пытаетесь скрыть элемент, который создается jQuery("div").html(retrievedData);, а затем положить $("div").hide(); после него в вашей success функции

1

Может быть, вы пытаетесь сделать это:

$( document).ready(function() 
{ 
    $("div").hide(); 
    AJAX(); 
}); 
1

Я думаю, что вы хотите сделать это?

function AJAX() 
    { 
     $.ajax({ 
      type: "GET", 
      url: "names.php", 
      data: namesVariables, 
      success: function (retrievedData) 
      { 
       console.log(retrievedData); 
       jQuery("div").html(retrievedData); 
       $("div").hide(); 
      } 
     });  
    } 
Смежные вопросы