powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Вопрос по работе с jQuery object
10 сообщений из 10, страница 1 из 1
Вопрос по работе с jQuery object
    #38845649
igor74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Объясните плиз, кто знает, почему не работает присваивание:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
$(l_selector).each( function(index) {
  if (index < 2) {
    $(this).my_index = index;
			
    alert(typeof($(this)));
    alert(index);
    alert($(this).my_index);
  }
});



выводит:

object
0
undefined
object
1
undefined

(Я пытаюсь сохранить индекс, чтобы передавать далее jquery object внутрь функций одним параметром)

Вот, например,

Код: javascript
1.
2.
3.
var t={}
t.a=1;
alert(t.a);



работает без проблем

В чем дело? Или можно тынц

спасибо
...
Рейтинг: 0 / 0
Вопрос по работе с jQuery object
    #38845662
igor74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наверное, оно и не должно работать, как я ожидаю, но все равно интересно, почему вообще ничего не присваивается
...
Рейтинг: 0 / 0
Вопрос по работе с jQuery object
    #38845691
igor74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
igor74,

Еще раз подумал, и вопрос отпал: $(this) создает и возвращает каждый раз разный object.
Прочитал, что для сравнения рекоммендуется использовать .get()

возникла вот идея, сохранить index через .get():

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
    	$(selector).each( function(index) {
		  if (index < 2) {
    		$(this).get(0).my_index = index;
			
			alert(typeof($(this).get(0)));
			alert(index);
		    alert($(this).get(0).my_index);
	      }
    	});




соответственно работает как я ожидаю,

object
0
0
object
1
1


интересно, насколько это корректно, делать такое присваивание прямо к DOM, если DOM я не собираюсь менять
...
Рейтинг: 0 / 0
Вопрос по работе с jQuery object
    #38845718
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
igor74,
А для чего вам сохранять index, когда он у вас всегда под рукой?
...
Рейтинг: 0 / 0
Вопрос по работе с jQuery object
    #38845734
igor74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kunaksergey,

После отработки цикла его больше нет, а мне нужен индекс именно после цикла.
т.е. чтобы в обработчике совсем другого внешнего события посмотреть текущий индекс, соответствующий порядку в цикле
...
Рейтинг: 0 / 0
Вопрос по работе с jQuery object
    #38845737
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
igor74,
а конкретнее.. может поменять стратегию обработки?
...
Рейтинг: 0 / 0
Вопрос по работе с jQuery object
    #38845744
igor74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kunaksergey,

Сначало полностью выполняется цикл (при инициализации страницы) и всякие прочие действия.

Потом выполняется onclick, например, нужно по $(this) как-нибудь попроще посмотреть текущий индекс
...
Рейтинг: 0 / 0
Вопрос по работе с jQuery object
    #38845767
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
 
 <script>

$(function(){
$("ul").on('click','li',function(){
	console.log($("li").index($(this)));
	});	
	});	 

 </script>   
 </head>

<body>
<ul>
  <li>foo</li>
  <li>bar</li>
 </ul>
 </body>
</html>
...
Рейтинг: 0 / 0
Вопрос по работе с jQuery object
    #38846389
igor74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kunaksergey,

Как раз хочется уйти от необходимости выполнять поиск по DOM каждый раз (там работа на самом деле не с одним элементом, а с массивом элементов),
т.е. сохранить это значение один раз при инициализации.

Нашел статью Attributes and custom properties (см. раздел Properties), так что способ с присваиванием .get(0).my_index подходит,
главное придумать название свойства осторожно, чтобы оно не перекрылось потом стандартными свойствами
...
Рейтинг: 0 / 0
Вопрос по работе с jQuery object
    #38846528
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
igor74,
DOM по моему для того и сделан, что бы легче обращаться к элементам... хотя не зная полностью картины и задания сложно что-то посоветовать
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Вопрос по работе с jQuery object
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]