Comment trouver des éléments HTML contenant du texte spécifique dans un commentaire HTML?

StackOverflow https://stackoverflow.com/questions/611662

Question

J'essaie d'utiliser jQuery pour identifier < td > éléments qui contiennent un texte de commentaire HTML spécifique. Le standard & Quot;: contient & Quot; sélecteur ne semble pas regarder dans les commentaires. Mon contexte ici est que je veux ajouter dynamiquement du contenu à ce même élément td. Voici un exemple de la cible td:

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

Ce code HTML est généré par SharePoint dans le cadre d’un nouveau formulaire d’élément de liste et je souhaite vraiment trouver le td dans mon document dont " FieldInternalName " dans le commentaire correspond à une chaîne de texte. Comment puis-je utiliser jQuery (ou n'importe quel javascript, ce serait vraiment bien) pour mieux trouver ces éléments td?

Était-ce utile?

La solution

Vous pouvez récupérer le innerHTML élément et y exécuter une expression régulière.

Exemple:

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

Mise à jour: un exemple plus complet (avec jQuery):

var tds = $('td'), match;
tds.each(function(index, element) {
    match = $(element).innerHTML.match(/FieldInternalName="(^["])"/);
    if (match) alert(match);
});

Autres conseils

if(document.getElementById('myElement').innerHTML.indexOf(text_string) != -1) { //do something }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top