Jquery Element an Funktion zurückgeben

12/18/2016 18:47 xShizoidx#1
Guten Abend,

ich habe das Problem, dass ich mit Jquery kein Element an eine Funktion zurückgeben kann. In diesem Beispielcode gibt er einfach das erste <a> mit der Hilfe von return zurück. Dieses Element will ich dann weiterverwenden.
Code:
<!DOCTYPE html>
<html lang="de">
	<head>
		<meta charset="utf-8">
	</head>	
	<body>
		<a>Test 1</a>
		<a>Test 2</a>
		<a>Test 3</a>
		<script>
		function holeMirEinElement()
		{
			$("a").each(function(){
				return $(this);
			});
		}

		function loescheElement(deinElement)
		{
			deinElement.remove();
		}


		var element = holeMirEinElement();
		loescheElement(element);
		</script>
	</body>
</html>
12/18/2016 18:59 Syc#2
Das return in der .each ist ein return für die .each und nicht die Funktion.
Wenn du etwas returnen möchtest musst du das seperat machen.

Beispiel:

PHP Code:
function holeMirEinElement()
{
    var 
elem;
    $(
"a").each(function(){
        
elem = $(this);
    });

    return 
elem;

So kriegst natürlich nur das letzte element der Schleife, aber ich denke vom Prinzip verstehst du das.
12/18/2016 19:15 xShizoidx#3
Danke für die schnelle Antwort. Funktioniert so aber leider immer noch nicht.
Code:
<!DOCTYPE html>
<html lang="de">
	<head>
		<meta charset="utf-8">
	</head>	
	<body>
		<a>Test 1</a>
		<a>Test 2</a>
		<a>Test 3</a>
		<script>
		function holeMirEinElement()
		{
			var element;
			$("a").each(function(){
				element = $(this);
			});
			return element;
		}

		function loescheElement(deinElement)
		{
			deinElement.remove();
		}


		var element = holeMirEinElement();
		loescheElement(element);
		</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
	</body>
</html>
12/18/2016 19:21 Mikesch01#4
Das war nur als Beispiel gedacht. Diese Funktion würde dann immer das LETZTE a-Element aus dem Dokument zurückgeben. Somit löschst du immer genau dieses letzte Element.

P.s jQuery sollte natürlich vor dem Aufruf einer jQuery Funktion eingebunden werden. Sonst macht das 0 Sinn.
12/18/2016 19:22 Syc#5
Ja schau mal in die Console.
Jquery ist zum Zeitpunkt des Aufrufes noch nicht eingebunden.

Entweder du bindest das jquery script im head ein oder du packst dein script in eine document ready funktion [Only registered and activated users can see links. Click Here To Register...]