Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   .eq(var) - не работает. почему? (https://javascript.ru/forum/jquery/5439-eq-var-ne-rabotaet-pochemu.html)

greysells 14.10.2009 17:08

.eq(var) - не работает. почему?
 
Всем привет.

Задача: не получается подставить индекс элемента если вместо него подставить переменную.

Например:
$(".gal_img").eq(1) - работает , а

var current;
$(".gal_img").eq(current) - не хочет работать.
_______________________________________________

Как в .eq() динамически подставлять значения?

e1f 14.10.2009 17:11

А чему равно current во втором примере? Правильно, undefined. Вот так будет работать:
var current;
// возможно, тут еще сколько-то кода, чтобы определить current
$(".gal_img").eq(current||0)

greysells 14.10.2009 17:20

current будет равняться какому либо числу. например.
var current = 5;

$(".gal_img").eq(current)
------------------------------
вообще .eq() предусматривает наличие переменной вместо числа?

e1f 14.10.2009 17:31

Что значит предусматривает? Выучите синтаксис JS, в конце концов, перед тем, как садится за jQuery. У Вас не определено значение current, либо $(".gal_img").length < 6 (учтите, что отсчет идет с 0)

greysells 14.10.2009 17:40

e1f , спасибо за быстрые ответы. Вот если упростить код до минимума, то
var current = 0;
$(".gal_img").eq(current).width(); // ширину мы не получим. :-? 

//а так получим
$(".gal_img").eq(0).width();


проверил даже c помощью alert(current); значение current имеется.

e1f 14.10.2009 17:52

Нереально. Давайте ссылку на проблемную страницу, или ее код целиком.


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