2016-07-27 10 views
0

Ich habe einen Schieberegler und beim Swipe versuche ich, den Attributwert des zentrierten Elements zu erhalten. Mein Js scheint nicht zu funktionieren.Abrufen von Attributwert nach Elternklassenname

owl.on('changed.owl.carousel', function(event) { 
 
    var a = document.getElementsByClassName("owl-item active center").children("item").attr("data-price"); 
 
    console.log(a); 
 
});
<div class="owl-item active center" style="width: 340px; margin-right: 0px;"> 
 
    <div class="item" data-price="200" data-name="Car 2" data-color="Green"> 
 
    </div> 
 
</div>

+2

'Kinder()', 'on()', etc .. sind jQuery Methoden –

+0

Ich denke, "Kinder" ist auch in Javascript verfügbar. Es gibt nur die Child-Knoten des Elements zurück, während 'childNodes' sowohl Element- als auch Text-Knoten zurückgibt. –

+1

@MohitBhardwaj: 'Kinder' ist eine Eigenschaft keine Methode im Falle von js auch Sie können es nicht für nodeList anwenden –

Antwort

2

Es scheint, dass die folgenden children eher eine Eigenschaft ist als eine Methode:

document.getElementsByClassName("owl-item active center")[0].children 

daher können Sie es nicht als Methode verwenden.

Außer, dass es nicht so etwas wie attr - Sie ex verwenden können:

domElement.getAttribute("class") 
0

.children ist eine schreibgeschützte Eigenschaft, die ein Live-HTMLCollection der untergeordneten Elemente des Knotens zurückgibt.

Damit Sie das Element mit der spezifischen Klasse auswählen können, müssen Sie jeden einzelnen untergeordneten Knoten überprüfen und dann das Attribut dieses untergeordneten Knotens zurückgeben.

Beispielcode:

// pEl is a reference to a <p> element 
var elementChildren = pEl.children; 
for (var i = 0; i < elementChildren.length; i++) { 
    console.log(elementChildren[i].tagName); 
    // NOTE: elementChildren is a live list, adding or removing children from pEl 
    // will change the members of elementChildren immediately 
} 

pEl.children ist ein HTMLCollection, die eine geordnete Sammlung von DOM-Elementen ist, dass die Kinder von elementNodeReference sind. Wenn es keine Element Kinder sind, dann enthält elList keine Elemente und hat eine Länge von 0.

Referenz: ParentNode.Children from MDN

Verwandte Themen