2009-04-13 12 views

cevap

150
row = $("body").find('#' + row_id); 

Daha da önemlisi ilave body.find'i performans üzerinde hiçbir etkisi yoktur. Bunu yapmanın en uygun yolu basitçe:

row = $('#' + row_id); 
+0

That's it! Teşekkürler! – Tony

0

Ben jQuery hakkında fazla bilgi sahibi, ama kalkma bu:

row_id = "#5"; 
row = $("body").find(row_id); 

Düzenleme:

row_id = 5 
row = $("body").find("#"+row_id); 
: değişken bir sayı ise, doğal olarak ön tarafa "#" eklemek zorunda
5

böyle yapabilirsiniz:

row_id = 5; 
row = $("body").find('#'+row_id); 
1

kimliğine göre

  1. bir öğe bulmak için, kodunuzu iki sorun sen Sen çalıştığınız bir "#"
  2. yazmanız gerektiğine vardır (ilk bir "5" için 5 dönüştürmek gibi + 5 bunu düzeltmek istiyorum "#" geçen) bir dize gereklidir bulmak işlevine Numara geçmek
37

en kısa yol olacaktır:

Aramanın araca sınırlandırılması herhangi bir fayda sağlamaz. Ayrıca, id s 'nizi, özellikle de adlandırılması gereken başka bir veri kümeniz varsa, daha anlamlı (ve Paolo'nun yanıtına göre HTML uyumlu) olarak yeniden adlandırmayı düşünmelisiniz.

+0

İyi nokta - bunu açıkladığınız için teşekkürler. – Tony

+0

Özeti severim. Bunu qTip2 araç ipuçlarıyla kullandım, harika çalışıyor. Performans cezasının, kullanıcı girdisine yanıt olarak bu "tam zamanında" bir çok şey üretmek için ne olduğunu merak ediyorum. –

26

ID'ye bakarken $('body').find(); yapmak gerekli değildir; performans artışı yok.

da not valid HTML bir sayı ile başlayan bir ID'ye sahip olduğuna dikkat edin: bir harf ile başlamalıdır

İD NAME ve jeton ([A-Za-z]) ve herhangi bir sayıda takip edebilir harfler, rakamlar ([0-9]), tireler ("-"), alt çizgi ("_"), iki nokta üst üste (":") ve nokta (".").

+0

Anladım. Kimlik formatını değiştirmeye bakacağım. – Tony

İlgili konular