jQuery parameter im "Befehl"

Gast #4939305
Lesenswert?
• ▲
▼
Hi,

ist es möglich das text/html/val als Parameter im jQuerybefehl zu 
übergeben
1
$( selector ).val( "value" );
2
$( selector ).text( "value" );
3
$( selector ).html( "value" );

das prinzip ist einfach, ich arbeite ein Array ab, in dem steht entweder 
ein Textfeld oder ein Div,... dazu gibt es immer "Text" oder "Values"...

damit ich nicht "3" funktionen schreiben muss
1
function setVal( selector, wert ) {
2
   $( selector ).val( wert );
3
}
4

5
function setText( selector, wert ) {
6
   $( selector ).text( wert );
7
}
8

9
...

würde ich gerne den Parameter "was es ist" mitübergeben
1
function setMyObject( selector, wert, doing ) {
2
   $( selector ).{doing}( wert );
3
}


ist das überhaupt möglich?
#4939338
Lesenswert?
• ▲
▼
Hi,

ja über Parameter sehr leicht machbar. Mit "automatischer" Erkennung 
wird es schon schwieriger. Zumal ja .text() und .html() zwei komplett 
unterschiedliche Dinge sind. ;)

Im einfachsten Fall z.B. so:
1
var setValue = function(selector, value, action) {
2
   switch(action) {
3
       case "html":
4
       case "text":
5
       case "val":
6
          $(selector)[action](value);
7
       break;
8
   }
9
}
10

11
setValue(selector, 'bla<br>blub', 'text');

Woher weißt du, ob du text() oder html() benutzen willst? Sind ja zwei 
unterschiedliche Dinge.. ;)

Frage: Macht die Funktion überhaupt sinn? Wo ist dein Ersparnis bei 
Bedingungen wenn du einfach direkt die Methode aufrufst die du möchtest 
oder deine selbst geschriebene? ;)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren