2015-07-13 13 views
0

Я хочу получить значение всех элементов span с классом «pull-left» внутри тега ul li. Ниже мой проверенный код, но я получаю пустой список. Где я иду не так?Получить значение всех элементов span внутри ul

<html> 
    <head> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js">        
     </script> 
     <script> 
      var textArray = $('.order-review ul li h3').find('span.pull-left').map(function(){ 
       return $(this).text(); 
      }).get(); 
      console.log(textArray); 
     </script> 
    </head> 
    <body> 

     <div class="order-review"> 
      <h2 class="color text-center">your </h2> 
      <ul class="order-summary"><li><h3><span class="pull-left">food</span><span class="pull-right color">×1</span></h3></li></ul> 
      <ul class="order-summary"><li><h3><span class="pull-left">food1</span><span class="pull-right color">×1</span></h3></li></ul>       
     </div> 
    </body> 
    </html> 
+0

Следуйте по ссылке: https://learn.jquery.com/using-jquery-core/document-ready/ –

ответ

2

Довольно распространенная проблема ...

Вам нужно обернуть функциональность в готовой функции JQuery.

ваш код должен выглядеть следующим образом:

$(function() 
{ 
    var textArray = $('.order-review ul li h3').find('span.pull-left').map(function(){ 
     return $(this).text(); 
    }).get(); 
    console.log(textArray); 
}); 
+0

Спасибо. Работал как шарм :) – user2722127

1

Если я ставлю свой код в a jsfiddle document, он работает. Если вы хотите сохранить ваши JS в том же месте, вы должны положить обернуть ваш код таким образом:

$(document).ready(function(){ 
    // Your JS code 
}); 

Это будет выполнять JavaScript, когда DOM дерево полностью загружено.

Смежные вопросы