2 Stimmen

Jquery-Plugin erhält DIV-ID

Ich möchte die ID des DIV, das es aufruft, an ein Plugin übergeben.

Eine Lösung wäre, es so zu nennen:

$('#mydiv').myplugin({
        myproperty : $('#mydiv').attr('id') 
    });

Aber ich würde gerne etwas in dieser Richtung machen:

$('.myclass').myplugin({
    myproperty : $(this).attr('id') 
});

Aber "this" bezieht sich nicht auf das Element myclass. Gibt es eine Möglichkeit, myclass id dinamisch zu erhalten?

3voto

Pointy Punkte 387467

Das Problem ist, dass Sie versuchen, "$(this)" zu verwenden, bevor Ihr "myplugin"-Code überhaupt läuft. Es gibt keinen direkten Weg zu tun, was Sie tun, aber dies könnte funktionieren:

$('.myclass').each(function() {
  $(this).myplugin({property: $(this).attr('id')});
});

Wenn Sie es so machen, erlauben Sie jQuery, einen Funktionsaufruf zu Ihrem "each"-Handler einzurichten, wobei jedes Element einzeln mit dem Selektor übereinstimmt. In jedem Aufruf dieser Funktion, this verweist auf eines der Elemente. Sie können dann Ihr Plugin mit den Eigenschaften dieses Elements im Funktionsaufruf aufrufen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X