2013-04-06 4 views
0

JQuery функция поиска скрыть и показать не работает, что не так?JQuery show, hide функция не работает

<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 

    <script> 
     $('div').hover(function() { 
      $(this).find('.delete').show(); 
     }, function() { 
      $(this).find('.delete').hide(); 
     }); 
    </script> 


<div> 
    Blah 
    <span class="delete">Delete</span> 
</div> 
+0

код отлично работает для меня в FF: HTTP : //jsfiddle.net/ECssL/ –

+0

Я использую Google Chrome – Rashad

ответ

6

Добавить документ готовую функцию в сценарий, и он будет работать

<script> 
     $(document).ready(function(){ 
     $('div').hover(function() { 
      $(this).find('.delete').show(); 
     }, function() { 
      $(this).find('.delete').hide(); 
     }); 
     }); 
    </script> 

Объяснение:

Вы сшиваться функцию парения в DIV еще до того, существует дел.
Используя готовую функцию документа, связывание функции происходит, когда ДИВ на самом деле доступны

+0

Thank Вы, это сработало! – Rashad

0

использовать что-то вроде этого:

<script> 
jQuery(document).ready(function($) { 
$('div').hover(function() { 
      $(this).find('.delete').show(); 
     }, function() { 
      $(this).find('.delete').hide(); 
     }); 
}) 
</script> 
0

Вам нужно обернуть код JQuery внутри $(document).ready(function(){}); или $(function(){});, чтобы он видит всю DOM.

$(document).ready(function(){ 
    $('div').hover(function() { 
     $(this).find('.delete').show(); 
    }, function() { 
     $(this).find('.delete').hide(); 
    }); 
}); 
0

Вам нужна целая куча других вещей, чтобы составить единое целое, действительный HTML-страницы и что-то оборачивать JavaScript, чтобы отложить его выполнение, пока документ не будет готов к взаимодействовали с ....

<!DOCTYPE HTML> 
<html> 
<head> 
<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
<script> 
$(function() { 
    $('div').hover(function() { 
     $(this).find('.delete').show(); 
    }, function() { 
     $(this).find('.delete').hide(); 
    }); 
}); 
</script> 
</head> 
<body> 

<div> 
    Blah 
    <span class="delete">Delete</span> 
</div> 

</body> 
</html> 

DOCTYPE выше для HTML5, что, вероятно, лучше всего, но вы должны знать, что other DOCTYPEs are available.

0

Попробуйте

<div> 
     Blah 
     <span class="delete">Delete</span> 
    </div> 


<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 




<script> 
      $(document).ready(function(){ 
      $('div').hover(function() { 
       $(this).find('.delete').show(); 
      }, function() { 
       $(this).find('.delete').hide(); 
      }); 
      }); 
     </script> 
Смежные вопросы