Temukan semua elemen pada halaman yang ID elemennya berisi teks tertentu menggunakan jQuery


Jawaban:


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

Perhatikan tanda bintang '*' di awal pemilih cocok dengan semua elemen .

Lihat Selektor Berisi Atribut , serta selektor : terlihat dan : tersembunyi .


17
Mungkin perlu disebutkan bahwa ketika mencocokkan dengan suatu elemen idAnda tidak menggunakan tanda kutip, di mana saat mencocokkan dengan yang nameAnda lakukan. $('*[name*="myname"]:visible') Bukan yang paling intuitif dan telah menangkap saya sebelumnya.
ficuscr

Saya mengganti $ (ini) .doStuff (); dengan this.doStuff (); dan bekerja
Carlos López Marí

133

Jika Anda menemukan oleh Contains maka akan menjadi seperti ini

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

Jika Anda menemukan dengan Mulai Dengan maka itu akan menjadi seperti ini

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

Jika Anda menemukan oleh Berakhir dengan maka itu akan menjadi seperti ini

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

Jika Anda ingin memilih elemen yang bukan merupakan string yang diberikan

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

Jika Anda ingin memilih elemen yang namanya berisi kata yang diberikan, dibatasi oleh spasi

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

Jika Anda ingin memilih elemen id mana yang sama dengan string yang diberikan atau dimulai dengan string yang diikuti oleh tanda hubung

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

Halo, bagaimana saya bisa menggunakan pemilih untuk memilih elemen-elemen yang id milik array.
bpa.mdl

20

Ini memilih semua DIV dengan ID yang berisi 'foo' dan yang terlihat

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

Jika saya mencari elemen kotak teks daripada div, apakah itu hanya $ ("input: visible [id * = 'foo']"); ?
user48408

itu akan menjadi $ ("input [type = 'textbox'] [id * = 'foo']: terlihat")
karim79

1
@ port-zero - tanda kutip tunggal di sekitar 'foo' tidak diperlukan
karim79

jika Anda mencoba untuk mendapatkan nilai elemen (dalam rentang kasus saya) yang harus Anda dapatkan$(this)[0].innerText
Niklas

6

Terima kasih untuk kalian berdua. Ini bekerja dengan baik untuk saya.

$("input[type='text'][id*=" + strID + "]:visible").each(function() {
    this.value=strVal;
});
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.