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.

War es hilfreich?

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;
});
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top