Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Изменение атрибутов в цикле for (https://javascript.ru/forum/jquery/40946-izmenenie-atributov-v-cikle.html)

Алек 25.08.2013 18:19

Изменение атрибутов в цикле for
 
Доброго всем времени суток!:)
Путаюсь изменить атрибут title циклом:
$('#pro img').attr("title", function(){
for (i = 1; i < $('#pro img').size(); i++){
	return "moors" + i;
}
});

Всем элементам присваивается новое значение title, но числа не меняются, то есть для всех элементов title становится равен moors1.
Цикл не работает, почему такая проблема возникает?
Всем заранее большое спасибо!

danik.js 25.08.2013 18:51

Цитата:

Сообщение от Алек
Цикл не работает, почему такая проблема возникает?

Учить матчасть бегом. Пока не ответишь что такое return и зачем он нужен - зачет не получишь.

ksa 25.08.2013 19:37

Цитата:

Сообщение от Алек
Цикл не работает

Цитата:

Сообщение от Сершей
Не работает значение this

Цитата:

Сообщение от Madrabit
Выполняет и If и Else одновременно

ППЦ! :D
У людей даже нет сомнеий в корявости своих рук... JS нерабочий и все тут!

Цитата:

Сообщение от Алек (Сообщение 269240)
Путаюсь изменить атрибут title циклом:
$('#pro img').attr("title", function(){
for (i = 1; i < $('#pro img').size(); i++){
	return "moors" + i;
}
});

Ты роешь подземный ход на чердак. :D

Алек 25.08.2013 19:48

danik.js,
return - возвращает результат работы функции, вот я переписываю:
$('#pro img').attr("title", function(){
var count = $('#pro img').size();
for (i = 1; i < count; i++){
	var bones = i;
}
return bones;
});

Однако в title элементов записывается 4 :blink: 4 - это индекс последнего элемента в массиве $('#pro img'), там 5 элементов, я чёт не понимаю, почему так цикл работает?:blink:

danik.js 25.08.2013 20:03

Цитата:

Сообщение от Алек
я чёт не понимаю, почему так цикл работает?

Как это "так"? Что именно тебе не понятно? Пиши конкретней блеадь

danik.js 25.08.2013 20:05

Хорошо, постараюсь ответить.
Цитата:

Сообщение от Алек
Однако в title элементов записывается 4

Да
Цитата:

Сообщение от Алек
4 - это индекс последнего элемента в массиве $('#pro img')

Да
Цитата:

Сообщение от Алек
там 5 элементов,

Да
Цитата:

Сообщение от Алек
я чёт не понимаю, почему так цикл работает?

Потому что это цикл. Потому он так и работает. Че за вопрос ваще?

Алек 25.08.2013 20:25

Нужно чтоб в атрибут alt циклом записывался его индекс в массиве!
Чтоб я в html документе это не делал :) Чтоб я один раз функцию написал, а затем просто вызывал её, а она мне чтоб атрибуты записывала для нужных мне групп элементов :)
Только я не пойму как это сделать можно :(

danik.js 25.08.2013 20:45

А ты вкурсе что твои альты поисковик не увидит? И в поиске каринок по ключевым словам в выдаче отображать не будет. Есть и другие проблемы с твоим подходом..

И чего эт ты заговорил про альт, когда в коде у тебя тайтл?

Есть волшебный метод $().each()

Алек 25.08.2013 21:05

Цитата:

Сообщение от danik.js (Сообщение 269275)
Есть и другие проблемы с твоим подходом..

А можно узнать какие?:) А то может мне не стоит вообще с этим приёмом заморачиваться...
Цитата:

Сообщение от danik.js (Сообщение 269275)
И чего эт ты заговорил про альт, когда в коде у тебя тайтл?

Дико извиняюсь, хотя замысел вообще в атрибутах, таким же способом можно и айдишники раздавать и классы, для чего я и хочу этот метод использовать, просто мне на примере сейчас тайтл нагляднее...
Цитата:

Сообщение от danik.js (Сообщение 269275)
Есть волшебный метод $().each()

Да, есть, уже пробовал:
$('#pro img').each(function(){
this.title = "moon";
});

Но проблемы это не решило:(
Я уже всё что знал перепробовал, только потом за помощью обратился:help:

danik.js 25.08.2013 21:47

Цитата:

Сообщение от Алек
Но проблемы это не решило

Очень содержательно. Вот и не обижайся что тебе также бессодержательно отвечают.
Цитата:

Сообщение от Алек
только потом за помощью обратился

И что ты спросил тут? И что тебе ответили? И чем это закончилось? Где результат? Кто виноват?
Учись быть программистом. Не пускай слюни "оно не работает". Конкретно описывай как это проявляется, что ожидаешь от кода, что в реале получаешь, какой номер строки тебе не понятен и тд.
А то бля приходят, вбрасывают кучку кода и ноют : "оно не работает"


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