Member 14039310 Ответов: 1

Jquery как мне вернуть var из этой функции?


Я все время получаю "неопределенное", пожалуйста, помогите! это всего лишь мой второй день использования Jquery LOL!
var id;

$('.nav-link').click(function() {
  id = $(this).attr('id');
  $container.cycle(id.replace('#', ''));
  
  return false;
});

alert(id);


Что я уже пробовал:

Я попытался использовать оператор return id, но безуспешно.
var id;

$('.nav-link').click(function() {
  id = $(this).attr('id');
  $container.cycle(id.replace('#', ''));

  return false;
});

return id;
alert(id);

Richard MacCutchan

К чему относится это сообщение? если это метка "id", то это означает, что он не может найти этот элемент в текущем списке атрибутов. Но я только предполагаю.

1 Ответов

Рейтинг:
0

MadMyche

С код, как вы предоставили, этот тревога() функция находится вне определенной функции.

Это порядок операций, который вы определили:
1. Объявить переменную идентификатор без определения
2. назначьте функцию всем html-элементам с классом навигационная связь
3. Поднять тревогу() со значением ID (который не определен)

Ваш следующий шаг в устранении неполадок будет заключаться в том, чтобы вставить это тревога() внутри функции, после ее назначения и перед оператором return.

** Примечания **
Пожалуйста, предоставьте достаточно кода для проверки. Пожалуйста, предоставьте любые сообщения об ошибках, которые видны в инспекторе браузеров (например, firebug).

Проблемы с тестированием вашего кода:
1 - где находится этот код на странице?
Вы не можете назначить функцию элементу, который не был определен. Если этот блок находится внутри головы, как он, не будет никакой функции. Или это внутри документ.готов()?
2- $container не определен, а тем более $container.cycle

Итак, вот что я придумал, протестировал и предоставил идентификаторы элементов.

<html>
<head>
<title>jQuery Test</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

</head>
<body>
<ul>
	<li class="nav-link" id="ListItem#1">LI 1</li>
	<li class="nav-link" id="ListItem#2">LI 2</li>
	<li class="nav-link" id="ListItem#3">LI 3</li>
</ul>

<script type="text/javascript">
	var id;

	$('.nav-link').click(
		function() {
			id = $(this).attr('id');
//			$container.cycle(id.replace('#', ''));
			id = $(this).attr('id');
			alert(id);
			return false;
		}
	);
</script>

</body>
</html>