İçinde kimliği '/' olan DOM öğeleri var. öyle olsa -'id' üzerinde arama '/' + jquery'yi içeren
jQuery('#activities/_terp_count') //returns null
İçinde kimliği '/' olan DOM öğeleri var. öyle olsa -'id' üzerinde arama '/' + jquery'yi içeren
jQuery('#activities/_terp_count') //returns null
jQuery('[id=activities/_terp_count]')
onu şüphesiz (http://jsfiddle.net/jXsvA/ örnek) bulabilirsiniz gerektiğini
jQuery('[id=activities/_terp_count]') //returns null
Not: Ben Ex için id sahip tüm unsurları ihtiyaç olarak, format aşağıdaki kullanmak istiyorum ID ile doğrudan aramadan daha yavaş olacak. Eğer seçiciyi jQuery('div[id*=activities/_terp_count]')
gibi bir şekilde sınırlandırabiliyorsanız, daha hızlı olacaktır, eğer etiketlerin her zaman olduğunu biliyorsanız. Eğer /
işareti kaçış eğer
Çözümünüz benim için faydalı oldu , ancak içinde tırnak işaretleri ('id'): jQuery ('[id = "activities/_terp_count"]') '. Onsuz bir 'Syntax hatası, tanınmayan ifade… 'var. –
Normal Kimlik seçici kullanabilirsiniz - jQuery requires that for special characters
$('#activities\\/_terp_count')
(gerçi, /
olarak bildiğim kadarıyla, jQuery veya CSS'de bir mekansal anlama sahip değildir) Yukarıdaki çözüm benim için çalışır, ancak bir öğenin kimliğine göre yerel bir yöntem almanın avantajları olduğuna dikkat edin: yani, document.getElementById ('strin/g'), jQuery'nin ("strin/g") olduğu durumlarda burada çalışır ") başarısız olur (jQuery özel muamele olmadan"/"üzerinde boğucu bir belirteci kullanır çünkü). jQuery o elemanın sürümünü sarılı almak için: her zaman kontrol edemezsen, Aslında
jQuery(document.getElementById('activities/_terp_count'));
tam olarak ne diyelim (gerçek kimliği girecek var bir eleman ile bir sayfada arama yapmak için çalışıyorsanız url #hash içinde belirtilen bir şeyin kimliği, a) dikkatli olun, çünkü bu tehlikeli olabilir ve b) not jQuery (document.getElementById (window.location.has.replace ("#", ")))); jQuery ("#" + window.location.has.replace ("#", "'))' den çok daha güvenilir çalışır. çünkü kolayca kırılmaz.
Örnek: kullanıcılar sadece belirli url parametresi veya karma girerek kodu kırmak için muktedir istemiyorsanız
jQuery(document.getElementById("_=_")) //<--- null, or the actual element, if you have one which said crazy, non-compliant id
jQuery("#_=_") //<--Uncaught Error: Syntax error, unrecognized expression: #_=_
, eğer yapabilirsen kullanan durum önlemek ve eğer yapamaz, yerel ID öğesini kullanın.
Bu en basit çözüm ve en mantıklı olanıdır. Neden [kaçıyor] (http: //learn.jquery.com/using-jquery-core/faq/nasıl-it-i-select-an-element-by-bir-kimlik-o-karakterleri-kullanılan-css-notasyonu /) (her zaman hatalara eğilimli olan) beklenmedik durumlarda, bu özelliklerin yerel javascript yöntemlerinden yararlanabileceği durumlarda. – thebugfinder
Kimlik nitelikleri eğik çizgi içeremez. Şaşırtıcı değil ki jQuery, bu tür öğeleri bulmakta zorlanıyor. Bununla birlikte, bu öğeyle o kimliği elde etmenin bir yolu olabilir. Ayrıca, "bu kimliğe sahip tüm öğeler" Sadece bu tür bir öğeye sahip olmanız gerektiğini unutmayın. – BoltClock
Bir "id" "bir harfle başlamalıdır ([A-Za-z]) ve herhangi bir sayıdaki harf, rakam ([0-9]), kısa çizgiler (" - "), alt çizgi (" _ "), iki nokta üst üste (": ") ve noktalardan (". ")." '/' Geçersiz bir karakterdir. – kennytm
Lütfen bakınız: http://stackoverflow.com/questions/70579/what-is-a-valid-value-for-id-attributes-in-html – Kevin