Zoek alle elementen op een pagina waarvan de element-ID een bepaalde tekst bevat met jQuery

Ik probeer alle elementen op een pagina te vinden waarvan de element-ID een bepaalde tekst bevat. Ik moet dan de gevonden elementen filteren op basis van of ze verborgen zijn of niet. Alle hulp wordt zeer op prijs gesteld.


Antwoord 1, autoriteit 100%

$('*[id*=mytext]:visible').each(function() {
    $(this).doStuff();
});

Let op de asterisk ‘*’ aan het begin van de selector komt overeen met alle elementen.

Zie de Kenmerk bevat selectors, evenals de :visibleen :verborgenselectors.


Antwoord 2, autoriteit 69%

Als je zoekt op Bevat, dan gaat het zo

   $("input[id*='DiscountType']").each(function (i, el) {
         //It'll be an array of elements
     });

Als je vindt op Starts With, dan zal het zo zijn

   $("input[id^='DiscountType']").each(function (i, el) {
         //It'll be an array of elements
     });

Als je vindt door Ends With, dan zal het zo zijn

    $("input[id$='DiscountType']").each(function (i, el) {
         //It'll be an array of elements
     });

Als je elementen wilt selecteren waarvan id geen gegeven string is

   $("input[id!='DiscountType']").each(function (i, el) {
         //It'll be an array of elements
     });

Als u elementen wilt selecteren waarvan de naam een ​​bepaald woord bevat, gescheiden door spaties

    $("input[name~='DiscountType']").each(function (i, el) {
         //It'll be an array of elements
     });

Als je elementen wilt selecteren waarvan de id gelijk is aan een gegeven string of beginnend met die string gevolgd door een koppelteken

    $("input[id|='DiscountType']").each(function (i, el) {
         //It'll be an array of elements
     });

Antwoord 3, autoriteit 10%

Dit selecteert alle DIV’s met een ID die ‘foo’ bevat en die zichtbaar zijn

$("div:visible[id*='foo']");

Antwoord 4, autoriteit 3%

Dank aan jullie beiden. Dit werkte perfect voor mij.

$("input[type='text'][id*=" + strID + "]:visible").each(function() {
    this.value=strVal;
});

Other episodes