Jquery variable mit if Abfrage = Syntaxfehler

Jan-Frederik Stieler

Monsterator
Moderator
Hallo,
hab mal wieder ein jQuery Synraxproblemchen.
Ich hab eine Variable welche eine if Abfrage beinhaltet.
Ich bekomm da die Ausgabe das ich ein Syntaxfehler drinne hätte. Aber ehrlich weiß ich noch nicht mal ob sowas überhaupt der richtige Ansatz ist.
Javascript:
tmp(			
if($('ul.jflanguageselection li').attr('id') == 'active_language'){
       .html('<p id="fancybox-error">Das angeforderte Bild kann nicht geladen werden.<br />Bitte.</p>')
   	}
else {
	$('ul.jflanguageselection li li').attr('id') == 'active_language'){
		.html('<p id="fancybox-error">The requested content cannot be loaded.<br />Please try again later.</p>')			
		};
	});

Viele Grüße

PS: Bitte nicht gleich den kopf abreissen wenn ich hier den letzten Schmarn versuche :)
 
Also ich werde nicht ganz schlau aus dem was du da versuchst. Ist es das was du willst?
Javascript:
if($('ul.jflanguageselection li').attr('id') == 'active_language'){
       $('ul.jflanguageselection li').html('<p id="fancybox-error">Das angeforderte Bild kann nicht geladen werden.<br />Bitte.</p>');
}
else{
        $('ul.jflanguageselection li').html('<p id="fancybox-error">The requested content cannot be loaded.<br />Please try again later.</p>');
}
 
Hi,
nein das ist es nicht.
Also ich pfusche etwas in der Fancybox rum.
Dort gibt es die Variable tmp welche eigentlich so aussieht:
Javascript:
tmp.html( '<p id="fancybox-error">The requested content cannot be loaded.<br />Please try again later.</p>' );
Ich muß die Ausgabe nun abhängig davon machen welches Listenelement gerade aktiv ist, wegen der Sprache. Deshalb der Versuch das über eine IF-Abfrage zu machen.

Viele Grüße
 
Hi,

suchst du with?
Code:
with(tmp){            
  if($('ul.jflanguageselection li').attr('id') == 'active_language'){
    html('<p id="fancybox-error">Das angeforderte Bild kann nicht geladen werden.<br />Bitte.</p>');
  }else if($('ul.jflanguageselection li li').attr('id') == 'active_language'){
    html('<p id="fancybox-error">The requested content cannot be loaded.<br />Please try again later.</p>');
  }
}
Ciao
Quaese
 
PS: Bitte nicht gleich den kopf abreissen wenn ich hier den letzten Schmarn versuche :)

Ich geb mir Mühe.

hab mal wieder ein jQuery Synraxproblemchen.

Du hast ein gewaltiges JavaScript-Syntaxproblem. Da kann jQuery nix für ;)


Ich nehme deinen Code mal Stück für Stück auseinander.


Ganz außen haben wir folgendes
Javascript:
tmp();

Das wäre ein Funktionsaufruf der Funktion "tmp" (Die es ja schonmal nicht gibt). Wenn es eine Funktion wäre, würden innerhalb der Klammern Parameter erwartet werden. Mal gucken was du dort hast.

Javascript:
if($('ul.jflanguageselection li').attr('id') == 'active_language'){
    .html('<p id="fancybox-error">Das angeforderte Bild kann nicht geladen werden.<br />Bitte.</p>')
}
else {
    //...
}

Ein If-Else Konstrukt also. Das darf an der Stelle aber gar nicht stehen (Es wird ja ein Wert erwartet). Selbst wenn es das dürfe, wäre es Fehlerhaft, weil der Ausdruck im If-Bock fängt mit einem Punkt an, was so Syntaktisch keinen Sinn macht.

Jetzt hast du noch einen Else-Block, mit folgendem Inhalt

Javascript:
$('ul.jflanguageselection li li').attr('id') == 'active_language'){
    .html('<p id="fancybox-error">The requested content cannot be loaded.<br />Please try again later.</p>')            
};

Okay, da steht also eine Bedingunung ganz am Anfang, aber was soll die dort? Es fehlt z.B. das Wörtchen "if" vornedran, damit da überhaupt eine Bedingung stehen kann. Oder Eine Zuweisung. Aber du schreibst einfach eine Bedingung hin. Außerdem kommt dann im folgenden Block wieder ein Ausdruck, welcher mit einem Punkt beginnt.




Jetzt zur Lösung. Du musst doch einfach nur ein ganz simples If-Else-If-Konstrukt machen, welches es so in den meisten Sprachen gibt.

Code:
//Pseudocode
if(<Ausduruck>) then
    <Anweisung>
else if (<Ausdruck>) then
    <Anweisung>
end if

Javascript:
if($('ul.jflanguageselection li').attr('id') == 'active_language') {
	tmp.html('<p id="fancybox-error">Das angeforderte Bild kann nicht geladen werden.<br />Bitte.</p>');
}
else if($('ul.jflanguageselection li li').attr('id') == 'active_language')) {
	tmp.html('<p id="fancybox-error">The requested content cannot be loaded.<br />Please try again later.</p>');
}
 
Zurück