Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Непонятки с length (https://javascript.ru/forum/misc/45958-neponyatki-s-length.html)

noak96 22.03.2014 13:08

Непонятки с length
 
Всем привет!

Странно, но я хочу посчитать количество элементов, но при любом раскладе он мне выдает 0.

var slidesc = $("ul#bxslider li").length;

<ul class="bxslider" id="bxslider">
	<li>
	  .....
	</li>
	<li>
	  ....
	</li>
	<li>
	  ....
	</li>
	<li>
	  ....
	</li>
</ul>

Отображаю содержимое переменной slidesc - получаю 0.
В чем может быть ошибка?

рони 22.03.2014 13:14

noak96,
в том что считаите когда их нет

noak96 22.03.2014 13:18

Это многоточие здесь вместо остального кода.

рони 22.03.2014 13:33

noak96,
Цитата:

Сообщение от рони
в том что считаите когда их нет

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8" />

<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(function(){
var slidesc = $("#bxslider li").length;
alert(slidesc);
});
</script>
  <title></title>
</head>
<body>
<ul class="bxslider" id="bxslider">
	<li>
	  .....
	</li>
	<li>
	  ....
	</li>
	<li>
	  ....
	</li>
	<li>
	  ....
	</li>
</ul>
</body>
</html>

Erolast 22.03.2014 13:33

noak96, зачем уточнять, что элемент с id bxslider должен быть списком? Как бы если у элемента есть идентификатор - элемент уникален. Повторяться иды не могут.

danik.js 22.03.2014 14:00

рони, хреновый пример с .load() подаешь. Зачем ждать загрузку картинок?

noak96 22.03.2014 14:07

рони, спасибо!

рони 22.03.2014 14:11

:write: убрал load и ul

Vlasenko Fedor 22.03.2014 15:39

<ul class="bxslider" id="bxslider">
  <li>.....</li>
  <li>
    <ul>
      <li>....</li>
      <li>....</li>
    </ul>
  </li>
  <li>....</li>
  <li>....</li>
</ul>
<script>
  window.onload = function(){
    alert(document.querySelectorAll('#bxslider>li').length);
  };
</script>

<ul class="bxslider" id="bxslider">
  <li>.....</li>
  <li>
    <ul>
      <li>....</li>
      <li>....</li>
    </ul>
  </li>
  <li>....</li>
  <li>....</li>
</ul>
<script>
  window.onload = function(){
    alert(document.querySelectorAll('#bxslider li').length);
  };
</script>

можно и
(function () {
    alert(document.querySelectorAll('#bxslider>li').length);
  }());
если скрипт будет после html разметки


Часовой пояс GMT +3, время: 03:17.