Ich versuche, alle Elemente auf einer Seite zu finden, deren Element-ID einen bestimmten Text enthält. Ich muss dann die gefundenen Elemente filtern, abhängig davon, ob sie versteckt sind oder nicht. Jede Hilfe wird sehr geschätzt.Finden Sie alle Elemente auf einer Seite, deren Element-ID einen bestimmten Text enthält mit jQuery
Finden Sie alle Elemente auf einer Seite, deren Element-ID einen bestimmten Text enthält mit jQuery
Antwort
$('*[id*=mytext]:visible').each(function() {
$(this).doStuff();
});
Beachten Sie das Sternchen '*' am Anfang des Selektors matches all elements.
Siehe die Attribute Contains Selectors, sowie die :visible und :hidden Selektoren.
Vielleicht beginnt, gefolgt wert Erwähnen Sie, dass Sie, wenn Sie mit der ID eines Elements übereinstimmen, keine Anführungszeichen verwenden, wenn Sie mit einem "Namen" übereinstimmen. '$ ('* [name * =" myname "]: sichtbar')' Nicht die intuitivste und hat mich schon früher erwischt. – ficuscr
Dies wählt alle DIVs mit einer ID enthält, ‚foo‘ und die sind sichtbar
$("div:visible[id*='foo']");
Dank euch beiden. Das hat perfekt für mich funktioniert.
$("input[type='text'][id*=" + strID + "]:visible").each(function() {
this.value=strVal;
});
Wenn Sie mit dem zu finden sind Enthält dann wird es
$("input[id*='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
wie dieser sein, wenn Sie von Beginnt mit zu finden sind, dann wird es wie folgt
sein$("input[id^='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Wenn Sie von Endet mit finden, dann wird es so sein
$("input[id$='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Wenn Sie Elemente auswählen, welche id nicht eine Zeichenkette ist
$("input[id!='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Wenn Sie Elemente auswählen möchten, die id ein gegebenes Wort enthält, durch Leerzeichen getrennt
$("input[id~='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Wenn Sie Elemente auswählen möchten, die ID ist gleich einem gegebenen s Tring oder mit dieser Zeichenfolge durch einen Bindestrich
$("input[id|='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
möglich Duplikat [JQuery-Selektor reguläre Ausdrücke] (http://stackoverflow.com/questions/190253/jquery-selector-regular-expressions) –