Alle Elemente auf einer Seite, deren Element-ID enthält einen bestimmten Text mit jQuery
Frage
Ich versuche, alle Elemente auf einer Seite, deren Element-ID enthält einen bestimmten Text zu finden. Ich werde dann müssen die gefundenen Elemente filtern, je nachdem, ob sie versteckt sind oder nicht. Jede Hilfe wird sehr geschätzt.
Lösung
$('*[id*=mytext]:visible').each(function() {
$(this).doStuff();
});
Beachten Sie das Sternchen ‚*‘ am Anfang des Wählers passt alle Elemente .
Sehen Sie die Attributselektoren enthält, sowie die : sichtbar und . verborgen Selektoren
Andere Tipps
Wenn Sie finden von Enthält , dann wird es so sein
$("input[id*='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Wenn Sie finden von beginnt mit , dann wird es so sein
$("input[id^='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Wenn Sie finden von endet mit , dann wird es so sein
$("input[id$='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Wenn Sie Elemente auswählen, die id ist nicht gegeben Zeichenfolge
$("input[id!='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Wenn Sie Elemente auswählen, die id enthält ein gegebenes Wort, durch Leerzeichen getrennt
$("input[id~='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Wenn Sie Elemente auswählen, die ID ist gleich einem gegebenen String oder beginnend mit dieser Zeichenfolge gefolgt von einem Bindestrich
$("input[id|='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Damit werden alle DIVs mit einer ID ‚foo‘ enthalten, und die sichtbar sind,
$("div:visible[id*='foo']");
Danke an euch beide. Das funktionierte perfekt für mich.
$("input[type='text'][id*=" + strID + "]:visible").each(function() {
this.value=strVal;
});