2013-09-20 5 views
0

привет Я использую этот код, приведенный ниже, чтобы сосчитать элементы IMG внутри сНу галереи количества дочерних элементов родительского элемента с помощью JQuery

<script type="text/javascript"> 
var numimg=$("#gallery > img").size(); 

document.write(numimg); 
</script> 

<div class="slide" id="gallery"> 
      <img src="images/6.jpg"/> 
      <img src="images/7.jpg"/> 
      <img src="images/8.jpg"/> 
         <img src="images/9.jpg"/> 
         <img src="images/10.jpg"/> 
      <img src="images/11.jpg"/> 
    </div> 

значение я ПОЛУЧАТЬ является 0, когда 6 элементов. Мне нужно получить реальное число дочерних элементов в элементе div. Может кто-нибудь помочь мне, пожалуйста.

+1

FYI '.size()' осуждался в JQuery 1.8. – j08691

ответ

1

Заменить

$("#gallery > img").size(); 

с

$("#gallery > img").length; 

и обернуть код внутри document.ready, как показано ниже.

$(function(){ 
    $("#gallery > img").length; 
}); 
+1

На самом деле это _direct_ дети. – undefined

+1

Он будет считать все 6 прямых детей. –

+0

@undefined Ohh Да, форматирование вопроса пошатнуло меня ... –

1

Есть несколько проблем, ваш код должен быть внутри йот готовый обработчик, после того, как дом готов не использовать document.write и использовать length свойство, чтобы получить количество дочерних элементов

jQuery(function(){ 
    var numimg=$("#gallery > img").length; 
    $('body').append(numimg) 
}) 

Если вы хотите добавить счетчик в определенном месте страницы, то вы можете добавить держатель место элемент, а затем добавить в него содержимое

<span id="imgcount"></span> 
<div class="slide" id="gallery"> 
    <img src="images/6.jpg"/> 
    <img src="images/7.jpg"/> 
    <img src="images/8.jpg"/> 
    <img src="images/9.jpg"/> 
    <img src="images/10.jpg"/> 
    <img src="images/11.jpg"/> 
</div> 

затем

jQuery(function(){ 
    var numimg=$("#gallery > img").length; 
    $('#imgcount').html(numimg) 
}) 

Демо: Fiddle

+0

Путь благодарности Арун за это подробное объяснение. и спасибо, спасибо – user2797662

0

Довольно уверен, что вам нужно сделать demo here

$(function(){ 
var c = $('#gallery img').length; 
$('#imgcount').html(c); 
}); 
Смежные вопросы