JQuery kullanarak öğe kimliği belirli bir metni içeren bir sayfadaki tüm öğeleri bulun


Yanıtlar:


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

Seçicinin başındaki yıldız işaretinin '*' tüm öğelerle eşleştiğine dikkat edin .

Bkz Özellik Seçicileri içerir , hem de görünür: ve : gizlenmiş seçiciler.


17
Belki bir öğeyle ideşleştirme yaparken tırnak işaretleri kullanmadığınızı, burada bir eşleştirirken yaptığınızdan bahsetmeye değer name. $('*[name*="myname"]:visible') En sezgisel değil ve beni daha önce yakaladı.
ficuscr

$ (This) .doStuff (); this.doStuff () ile; ve çalıştı
Carlos López Marí

133

İçerir ile buluyorsanız, o zaman böyle olacak

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

Starts With ile buluyorsanız, o zaman böyle olacak

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

Sonunda buluyorsan, o zaman böyle olacak

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

İd'nin belirli bir dize olmadığı öğeleri seçmek istiyorsanız

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

Belirli bir kelimeyi içeren, boşluklarla ayrılmış öğeleri seçmek istiyorsanız

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

Belirli bir dizeye eşit olan veya bu dizeyle başlayan ve ardından bir tire ile başlayan öğeleri seçmek istiyorsanız

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

Merhaba, id'si bir diziye ait olan elemanları seçmek için bir seçiciyi nasıl kullanabilirim.
bpa.mdl

20

Bu, 'foo' içeren ve görünür olan tüm DIV'leri seçer

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

Divs yerine metin kutusu öğelerini arıyorsam, bu sadece $ ("input: visible [id * = 'foo']"); ?
user48408

$ ("input [type = 'textbox'] [id * = 'foo']: görünür")
karim79

1
@ port-zero - 'foo' etrafındaki tek alıntılar gerekli değildir
karim79

Eğer elementlerin değerini elde etmeye çalışıyorsanız (benim durumumda) şunu elde etmelisiniz$(this)[0].innerText
Niklas

6

İkinize de teşekkürler. Bu benim için mükemmel çalıştı.

$("input[type='text'][id*=" + strID + "]:visible").each(function() {
    this.value=strVal;
});
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.