Aus irgendeinem Grund kann ich nicht versteckte Eingaben von ID mit jQuery abrufen.Targeting versteckte Eingaben durch ID mit jQuery
kann ich
> $('input')
[<input type="checkbox" name="property-type" id checked>, <input type="checkbox" name="property-type" id checked>, <input type="checkbox" name="property-type" id>, <input type="checkbox" name="property-type" id>, <input type="hidden" name="no-of-rooms" id="1-rooms">, <input type="hidden" name="no-of-rooms" id="2-rooms" checked>, <input type="hidden" name="no-of-rooms" id="3-rooms" checked>, <input type="hidden" name="no-of-rooms" id="4-rooms">, <input type="hidden" name="no-of-rooms" id="5-rooms">, <input type="hidden" name="no-of-rooms" id="over-5-rooms">, <input type="checkbox" name="property-type" id>, <input type="checkbox" name="property-type" id>, <input type="checkbox" name="property-type" id>]
, der mich schön alle Eingaben auf der Seite bekommt, verstecken die vom Typ = einschließlich.
kann ich auch
> $('input[type="hidden"]')
[<input type="hidden" name="no-of-rooms" id="1-rooms">, <input type="hidden" name="no-of-rooms" id="2-rooms" checked>, <input type="hidden" name="no-of-rooms" id="3-rooms" checked>, <input type="hidden" name="no-of-rooms" id="4-rooms">, <input type="hidden" name="no-of-rooms" id="5-rooms">, <input type="hidden" name="no-of-rooms" id="over-5-rooms">]
, die mir alle meine versteckte Felder bekommt. Beachten Sie, dass sie alle eine ID haben.
Aus irgendeinem Grund versuchen, diese Eingänge durch ihre ID, entweder mit oder ohne die [type="hidden"]
enthalten, zu bekommen, wird mir eine leere Liste.
> $('input[type="hidden"]#2-rooms')
[]
> $('input#2-rooms')
[]
Ich habe es geschafft, eine Abhilfe zu finden, indem Sie einfach nicht, sie durch ihre ID-s-Targeting, aber es wäre nützlich zu wissen, warum dies nicht möglich erscheint.
EDIT
Mit nur $('#2-rooms')
für mich funktioniert und ist offenbar der beste Ansatz. Allerdings bin ich immer noch unsicher, warum $('input#2-rooms')
nicht funktioniert, wie ich hatte tatsächlich die html5 doctype (<!DOCTYPE html>
), und ich verstehe IDs beginnend mit Zahlen sollte in diesem Fall in Ordnung sein.
Haben Sie zufällig '$ ('# 2-rooms')' –
versucht Wahrscheinlich verwenden Sie nicht HTML5, und vor HTML5 konnten IDs nicht mit einem numerischen Zeichen beginnen. Versuchen Sie es mit dem html5 Doctype, um zu bestätigen: '' (oder Sie könnten nur die IDs ändern, um kein numerisches Zeichen als erstes Zeichen zu verwenden) –
Dumm mich, weil ich nicht '$ ('# 2-rooms') versuche ', die funktioniert (obwohl ich immer noch vorziehen würde, dass es eine Eingabe für die Klarheit ist ..). Ich habe jetzt auch '$ ('input # over-5-rooms') versucht, das nicht mit einer Nummer beginnt und auch funktioniert. Ich habe den html5 Doctype eingeschlossen, also sollte das nicht das Problem sein, auch bestätigt durch die Tatsache, dass '$ ('# 2-rooms') scheint gut zu funktionieren. – Elise