id

2010-02-19 35 views
54

benim soru ile başlar html elemanı bul şudur: her biri ben ekran için bazı verileri bir jqGrid (jQuery ızgara) kullanılan üzerindeid

Ben, birden fazla sayfa HTML kodu var. Bu sayfaların her birinde, JQgrid'i tutan öğenin "LIST_xxx" olarak adlandırıldığını biliyordum. Şimdi her sayfada "LIST_XXXX" öğesini alan ve bazı şeyler yapan bir javascript yapmam gerekiyor. Nasıl kimliğine göre bir eleman aramak olabilir ama (ben daha önce belirtildiği gibi, kimlik) sadece ilk kısmını bilerek:

$('#list_[XXXX]')... --> The part surrounded by [] is variable on each page, i want to discriminate that. 

Ben yeterince açık umuyoruz. Teşekkürler.

cevap

110

$('div[id^="list_"]') 

deneyin Bu

+0

Bu referansta jquery belgelerinden çok daha iyi bir düzen. –

+0

Bu iyi çalışıyor ... Ben ($ ('div [id $ = "' + val + '"]'). Uzunluk> 0) bir şey yürütmek gibi özel bir değer ile biten bir id bulmak için kullanılır; – raphie

+0

kuyu, Basit kontrollerin üstünde kimlikler için iyi çalışıyor. "Txt_0_city", "txt_1_city", "txt_2_city", "txt_3_city" vb. Kimlikleri olan kontroller gibi senaryolar için nasıl çalışırsınız ve "txt _ * _ city gibi kimliklere sahip tüm bu tür öğelerin sayısını istiyorum." " –

7

Bu öğeye, sorgulayabileceğiniz ortak bir sınıf adı veya başka bir özellik verin.

+0

Merhaba, cevabınız için teşekkürler, önerinizle ilgili sorun, JQgrid'i tutan birden fazla tablo olabileceğinden, şöyle olabilir: "LIST_customer", "LIST_carrier" ... vb. Ve her ikisini de sadece başlangıç ​​ID kısmına dayandırmam gerekiyor: "LIST_". – lidermin

+0

Anladım, ama hepsini bir Liste sınıfı yapmak bana daha okunaklı ve açıklayıcı bir yaklaşım gibi görünüyor. Her biri için, diğer cevaplar tarafından gösterildiği gibi jQuery'de her zaman seçiciyle başlar. –

+0

@lidermin Yuriy'in çalışması gerekenler. Neden ön ekiniz olarak list_e sahip olduğunuzdan, kontrollerinize "liste" gibi bir sınıf eklemiyorsunuz. Bu sınıfı seçtiğinizde, bu kontrollerin her birini alacaksınız. Bunu yapmanın en etkili yolu bu olacak. –

19

Bunu, attribute starts with selector kullanmak gerekir:

$('[id^=list_]').whatever() 
+0

kuyu, Basit kontrollerin üstünde kimlikler için iyi çalışıyor. "Txt_0_city", "txt_1_city", "txt_2_city", "txt_3_city" vb. Kimlikleri olan kontroller gibi senaryolar için nasıl çalışırsınız ve "txt _ * _ city gibi kimliklere sahip tüm bu tür öğelerin sayısını istiyorum." " –

+0

Merhaba @Rajiv, stackoverflow'a hoş geldiniz. Yorumunuzun diğer kopyasına cevap verdim. –