Erste Attribut von einem übergeordneten Knoten
Ich versuche, mit
$(this).parentNode.attr('data-element')
sollte return 0 - 5 string-aber es will einfach nicht funktionieren. Ich benutze es in einer Funktion wie dieser
$('.someClass').each(function(){
$(this).html(SomeFunction('SomeString', $(this).parentNode.attr('data-element')));
});
Alle Elemente mit der Klasse "someClass" haben Sie einen parentNode
<li class="element" data-element: 1 (or any number from 0 to 5 (including))> </li>
und ich habe keine Ahnung, wo ist der Fehler. Was mache ich falsch?
--David
- statt parentNode verwenden parent() von jQuery. parentNode ist von einfacher javascript und gilt nicht auf jQuery-Elemente
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mischen Sie jQuery und plain javascript in der gleichen Zeile code, und das wird nicht funktionieren. Sie können entweder:
oder
parentNode
ist nicht eine Eigenschaft, ein jQuery-Objekt, so dass Sie nicht mischen die beiden die Art und Weise Sie es Taten. Die jQuery-Methode für das erhalten die Eltern.parent()
.Sollten Sie tun
da kann man das auch nicht nennen
attr()
auf ein nicht jQuery-ObjektVersuchen, dies zu tun, statt:
Weitere Informationen zu den Funktionen wie .parent() finden Sie in der Querende Abschnitt der JQuery-Dokumentation:
http://api.jquery.com/category/traversing/
Mit jquery sollte es sein:
Ohne die Verwendung von jquery wäre dies:
Bevorzuge ich: