Saya memiliki potongan HTML berikut:

    <tr id="shared_event_propsrow1">
        <td class="field-public">
            &nbsp;
        </td>
        <td class="field-required">
            &nbsp;
        </td>
        <td class="field-number">
            12.
        </td>
        <td class="field-label">
            <label class="wrapable" for="shared_event_propsname">
                Sponsor name (5):
                <span style="display:none;">&nbsp;Step 12.</span>
                <span style="display:none;">Maximum input length is 255 characters.</span>
            </label>
        </td>
    </tr>
    <tr id="shared_event_propsrow2">
        <td colspan="2">&nbsp; </td>
        <td>&nbsp;</td>
        <td class="field-input">
            <input name="shared_event_propsprop_sponsor_5.field" id="shared_event_propsprop_sponsor_5.field" value="" size="60" maxlength="255">
        </td>
    </tr>

Sekarang CMS ini untuk beberapa alasan aneh memiliki beberapa tr dengan ID bergantian yang sama shared_event_propsrow1 dan shared_event_propsrow2 dan semua elemen label menggunakan for= dan class di tabel yang sama di halaman yang sama...ugh...jadi yang saya coba lakukan adalah menargetkan bagian ini:

        <label class="wrapable" for="shared_event_propsname">
            Sponsor name (5):
            <span style="display:none;">&nbsp;Step 12.</span>
            <span style="display:none;">Maximum input length is 255 characters.</span>
        </label>

Dan ganti Nama Sponsor (5) menjadi Uang Tunai dan Cek:

Tetapi satu-satunya hal yang saya lihat yang dapat saya targetkan adalah id yang hidup di tr setelahnya <input name="shared_event_propsprop_sponsor_5.field" id="shared_event_propsprop_sponsor_5.field" value="" size="60" maxlength="255">

Saya berjuang untuk menemukan kata yang tepat untuk mencari di Google untuk sesuatu yang dapat melakukan apa yang saya coba lakukan.

Bantuan apa pun sangat dihargai! Terima kasih

0
SorryEh 25 Oktober 2019, 20:46

2 jawaban

Jawaban Terbaik

Seperti yang disarankan oleh monyet sesat, Anda dapat menargetkan teks itu sendiri:

$(function(){
  $('label:contains(Sponsor name (5))').text('Cash and Cheques');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<tr id="shared_event_propsrow1">
        <td class="field-public">
            &nbsp;
        </td>
        <td class="field-required">
            &nbsp;
        </td>
        <td class="field-number">
            12.
        </td>
        <td class="field-label">
            <label class="wrapable" for="shared_event_propsname">
                Sponsor name (5):
                <span style="display:none;">&nbsp;Step 12.</span>
                <span style="display:none;">Maximum input length is 255 characters.</span>
            </label>
        </td>
    </tr>
    <tr id="shared_event_propsrow2">
        <td colspan="2">&nbsp; </td>
        <td>&nbsp;</td>
        <td class="field-input">
            <input name="shared_event_propsprop_sponsor_5.field" id="shared_event_propsprop_sponsor_5.field" value="" size="60" maxlength="255">
        </td>
    </tr>
1
Robert McKee 25 Oktober 2019, 18:14

Anda dapat mencoba sesuatu querySelectorAll seperti ini let elements = document.body.querySelectorAll("table tr > td > label. wrapable");

0
Patrick Fopa 25 Oktober 2019, 18:00