2009-03-04 6 views
3

Ich versuche, jQuery zu verwenden, um <td> Elemente zu identifizieren, die bestimmten HTML-Kommentartext enthalten. Der Standard-Selektor ": enthält" scheint nicht in die Kommentare zu schauen. Mein Kontext hier ist, dass ich etwas Inhalt zu demselben td-Element dynamisch hinzufügen möchte. Hier ist ein Beispiel des Ziels td:Wie kann ich HTML-Elemente finden, die einen bestimmten Text in einem HTML-Kommentar enthalten?

<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> 

Diese html von Sharepoint als Teil einer neuen Listenpunkt Form erzeugt werden, und ich mag die td in meinem Dokument, deren „FieldInternalName“ im Kommentar finden Spiele einig Textzeichenfolge. Wie kann ich jQuery verwenden (oder irgendein Javascript wäre wirklich okay), um diese td Elemente am besten zu finden?

Antwort

3

Sie könnten die innerHTML des Elements greifen und einen regulären Ausdruck darüber ausführen.

Beispiel:

// 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 

Update: ein umfassenderes Beispiel (mit jQuery):

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 } 
Verwandte Themen