Erhalten Sie den Wert von element mit javascript durch seinen Klassennamen
Hallo an alle ich habe ein element wie diesem :
<div class="price-box">
<span class="regular-price" id="product-price-27">
<span class="price">
...
</span>
</span>
</div>
<input type="text" name="qty" id="qty" maxlength="12" value="1" title="Qty" class="input-text qty" />
habe ich versucht, den Wert über dieser Linie
document.getElementByClassName('input-text qty').value="myvalue"
aber das hat nicht funktioniert
wie kann ich den Wert ohne jquery?
Hinweis : ich habe prototype.js in meinem Projekt !
was über diese ein zu :
<button type="button" title="Add to Cart" class="button btn-cart" onclick="productAddToCartForm.submit(this)"><span><span>Add to Cart</span></span></button>
Möchte ich es deaktivieren, verwenden von Javascript und von seiner Klasse Namen!!!!!?
InformationsquelleAutor Souf | 2014-03-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vielleicht suchen Sie nach
querySelector
:Diese gibt ein einzelnes Element, sondern als eine NodeList. Wenn Sie möchten, eine NodeList verwenden Sie stattdessen die alternative
querySelectorAll
. Beachten Sie, dass diese Methoden nehmen CSS-Selektoren. Die Selektoren, die man verwenden kann, sind begrenzt auf den browser-code wird ausgeführt. Halten Sie es einfach.Diese beiden Methoden haben eine bessere browser-Unterstützung als
getElementsByClassName
, so möchte ich Sie ermutigen, Sie zu nutzen, statt auf Ihren aktuellen Ansatz.Demo:
r u dort siehe den edit-bitte !
gearbeitet !!!!!!!!!!!!!! mit Raum zu
Ich bin neugierig auf die animation, demonstration, spielen sich hier dann die Frage selbst!
Sie haben mein Leben gerettet :-)))
InformationsquelleAutor Sampson
Da man sich mit Prototypen in der Seite schon, finden Sie möglicherweise dieses element mit dem "Doppel-dollar" - Methode:
Als andere haben darauf hingewiesen, oben, dieser gibt ein array der gefundenen Elemente (oder ein leeres array, wenn Sie nicht haben, alles auf die Seite passt). Also der einfachste Weg, alles zu tun, um das Ergebnis mit invoke():
oder
Jeder der Prototyp-Elemente-Methoden können aufgerufen werden, die in dieser Art und Weise. Wenn Sie wollen, etwas zu tun Brauch, um das element(s) basierend auf einem Attribut, können Sie each() statt:
$$('.input-text.qty')[0].value
bekommen würde, - aber +1 für extra$$()
infoInformationsquelleAutor Walter
Erstens, Ihre
getElementsByClassName
(elements
im plural) - das liefert ein array der Elemente, die die Bedingung erfüllen. Sie müssen angeben, dass der index des Arrays, zum ändern der Eigenschaften der Elemente:InformationsquelleAutor tymeJV
Haben Sie
id="qty"
so vergessenclass
, verwenden Sie einfachWelche am effizientesten ist.
Anderen dom-native Methoden, wie
getElementsByClassName/TagName
(Hinweis: es gibts
nach Element) gibt ein array-Objekt wieNodeList
.Müssen Sie zur Verwendung von index-oder loop-Zugang.
InformationsquelleAutor xdazz
Ihr Fehler ist, dass Sie mit:
1)
getElementByClassName
stattgetElementsByClassName
2)
getElementsByClassName
gibt array, so müssen Sie die [0] - elementAlso try this one:
Demo
InformationsquelleAutor Farkhat Mikhalko
getElementByClassName()
gibt den array der Elemente abgestimmt, so dass Zugang zu dem ersten element des array verwenden0
index wieOder
Können Sie die id(Menge) von input-tag, und legen Sie den Wert auf diesen tag, indem Sie
getElementById()
etwas wieInformationsquelleAutor Suman Bogati