Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Использование $(this) внутри функции (https://javascript.ru/forum/misc/23092-ispolzovanie-%24-vnutri-funkcii.html)

Dorian_bs 10.11.2011 22:53

Использование $(this) внутри функции
 
Всем привет!
Проблема с использованием "$(this)" внутри функции.

Например (выводим текст кнопки на экран):
$('#button').click(function () {
    test = function () {
        var a = $(this).html();
        alert(a);
    }
    test();
});


Попробовал сделать так. Но не работает((

Например:
$('#button').click(function () {
    a = $(this)
    test = function (a) {
        var b = a.html();
        alert(b);
    }
    test();
});


Помогите решить проблему!

рони 10.11.2011 23:05

Dorian_bs,
во втором варианте укажите параметр - строка 7 - test(a);

Dorian_bs 10.11.2011 23:11

Спасибо большое!)))

FINoM 11.11.2011 02:03

Ну или можно просто убрать аргумент функции.

saturn 11.11.2011 10:26

А почему бы так не записать
$('#button').click(function () {
      var a = $(this).html();
        alert(a);
});

Dorian_bs 20.11.2011 20:22

saturn,
думаете, если бы не нужно было использовать функцию внутри я бы так и не записал?)

Pavel M. 21.11.2011 09:10

можно так
обратите внимание на подчеркнутую строку кода

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>demo</title>
  
  <script type='text/javascript' src='http://code.jquery.com/jquery-git.js'></script>
  
	<script>

	$(function(){

		$('#button').click(function () {
			var test = function () {
			   var a = $(this).html();
			   alert(a);
			}
			*!*test.call(this); */!*
		});

	});  

	</script>


</head>
<body>
  <button id="button">текст</button>
</body>
</html>


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