2014-02-03 6 views
0

У меня есть некоторые деления, созданные в скрипте jquery drag.Count div id appendTo another divide

Эта часть сценария для DIV

for (var i=0; i<52; i++) { 
    $('<div><img src="card.png" onmouseover="this.src=&quot;images/card_' + numbers[i] + '.png&quot;" /></div>').data('number', numbers[i]).attr('id', 'card'+numbers[i]).appendTo('#cardPile').draggable({ 
     containment: '#content', 
     stack: '#cardPile div', 
     cursor: 'move', 
     snap: 'true', 
     revert: true 
    }); 
    } 

Пример водоразделов созданного

<div class="ui-draggable" id="card7"> 
<img src="card.png" onmouseover="this.src=&quot;images/card_7.png&quot;"> 
</div> 
<div class="ui-draggable" id="card18"> 
<img src="card.png" onmouseover="this.src=&quot;images/card_18.png&quot;"> 
</div> 

Если я смотрю на исходный код страницы Он не отображает DIV выше, если Я выделяю источник изображения и просмотра, а затем вижу div.

Каждый div создается с идентификационной картой + номер, который также совпадает с номером используемого изображения. Есть 52 ДИВ в общей сложности, так что результат я ищу, 52.

Этот сценарий ниже ничего не отображается, я также протестировали с предупреждением просто проверить и отображается 0.

<script type="text/javascript"> 
    var amount = $("#cardPile").children("div[id^=card]").length 
    document.getElementById('total').innerHTML = amount; 
</script> 
<div id="total" style="color:#fff"></div> 

Кроме того, я просто пытался считать IMG теги в DIV, но это 0

<script type="text/javascript"> 
    alert($("#cardPile > img").length); 
</script> 
+0

Вы здесь много делаете, что именно ваш вопрос? Вы хотите сгенерировать 52 divs с изображениями, которые связаны с ними перетаскиваемыми событиями? У вас есть div с идентификатором «cardpile» уже на странице? Какие ошибки вы получаете? – Organiccat

+0

@Organiccat Мой вопрос в том, как я могу подсчитать элементы div # card + number, которые должны отображать результат 52. Эти 52 div являются appendTo для другого div #cardPile –

+0

Существуют ли другие div, которые могут быть дочерними элементами '$ (" # cardPile ") '? Если нет, тогда вы можете просто использовать '$ (" # cardPile "). Children();' (или '$ (" # cardPile "). Children (" div ");', если вы хотите быть конкретными в отношении тип элемента). – talemyn

ответ

0

может быть, вы могли бы добавить класс карт, чтобы помочь вам определить их. Попробуйте что-то вроде this.

$(function() { 
    for (var i = 0; i < 52; i++) { 
     $('<div />', { class: 'card' }). 
      appendTo($('#cardPile')). 
      draggable({ 
       revert: true 
      }); 
    } 

    console.log($('#cardPile').find('.card')); 
}); 
+0

Я могу идентифицировать каждую карту с ее id + номер карты div id #, но независимо от того, что я делаю, я не могу рассчитывать, что сумма div id равна –

+0

Попробуйте добавить [запросы к атрибутам] (http: // api. jquery.com/category/selectors/attribute-selectors/) к методу поиска. – reergymerej