2009-03-04 16 views
3

Belirli HTML yorum metni içeren <td> öğelerini tanımlamak için jQuery'yi kullanmaya çalışıyorum. Standart ": içerir" seçiciye yorumlara bakmıyor gibi görünüyor. Buradaki içeriğim, aynı td öğesine dinamik olarak içerik eklemek istediğim.Bir html yorumunda belirli bir metin içeren html öğelerini nasıl bulabilirim?

<TD valign="top" class="ms-formbody" width="400px"> 
     <!-- FieldName="Title" 
      FieldInternalName="Title" 
      FieldType="SPFieldText" 
      --> 
      <span dir="none"> 
     <input name="ctl00$m$g_0b1e4ca3_9450_4f3e_b3af_8134fe014ea5$ctl00$ctl04$ctl00$ctl00$ctl00$ctl04$ctl00$ctl00$TextField" type="text" maxlength="255" id="ctl00_m_g_0b1e4ca3_9450_4f3e_b3af_8134fe014ea5_ctl00_ctl04_ctl00_ctl00_ctl00_ctl04_ctl00_ctl00_TextField" title="Title" class="ms-long" /><br> 
    </span> 


     </TD> 

Bu html yeni liste öğesi formunun bir parçası olarak SharePoint tarafından oluşturulan ve gerçekten "FieldInternalName" yorumunda benim belgede td bulmak istiyorum bazı maçları: Burada hedef td içeren bir örnek Metin dizesi. Bu td öğelerini en iyi şekilde bulmak için jQuery'yi (veya herhangi bir javascript gerçekten iyi olur) nasıl kullanabilirim?

cevap

3

Öğenin innerHTML'unu yakalayabilir ve üzerinde normal bir ifade çalıştırabilirsiniz.

Örnek:

// HTML: <div id="myElement">Lorem <!-- a comment --> ipsum.</div> 

var element = document.getElementById('myElement'); 
alert(element.innerHTML); // alerts "Lorem <!-- a comment --> ipsum." 
// here you could run a regular expression 

güncelle: (jQuery ile) daha kapsamlı bir örnek:

var tds = $('td'), match; 
tds.each(function(index, element) { 
    match = $(element).innerHTML.match(/FieldInternalName="(^["])"/); 
    if (match) alert(match); 
}); 
0
if(document.getElementById('myElement').innerHTML.indexOf(text_string) != -1) { //do something } 
İlgili konular