كيف يمكنني العثور على عناصر html التي تحتوي على نص محدد في تعليق html؟

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

سؤال

أحاول استخدام jQuery لتحديد عناصر <td> التي تحتوي على نص تعليق HTML محدد.يبدو أن المحدد القياسي ": يحتوي على" لا يبحث في التعليقات.السياق الخاص بي هنا هو أنني أريد إضافة بعض المحتوى ديناميكيًا إلى نفس عنصر td.فيما يلي عينة من الهدف 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>

يتم إنشاء ملف HTML هذا بواسطة SharePoint كجزء من نموذج عنصر قائمة جديد، وأريد حقًا العثور على td في المستند الذي يتطابق "FieldInternalName" في التعليق معه مع بعض السلاسل النصية.كيف يمكنني استخدام jQuery (أو أي جافا سكريبت سيكون جيدًا حقًا) للعثور على عناصر td هذه بشكل أفضل؟

هل كانت مفيدة؟

المحلول

هل يمكن الاستيلاء على innerHTML للعنصر وتشغيل تعبير عادي عليه.

مثال:

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

تحديث: مثال أكثر شمولاً (باستخدام jQuery):

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

نصائح أخرى

if(document.getElementById('myElement').innerHTML.indexOf(text_string) != -1) { //do something }
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top