jQuery – come posso sapere se un id è una stringa specifica?

Ho una tabella e vorrei sapere se il suo ultimo td id contengono una determinata stringa.
Per esempio, se il mio ultimo td ha id “1234abc”, voglio sapere se questo id contiene “34a”.
E ho bisogno di farlo in un ‘se’ istruzione.

se(myLastTdId Contiene “blablabla”){ fai qualcosa }

Grazie!!!

 

4 Replies
  1. 24

    È possibile utilizzare il “attributeContains selettore”:

    if($("#yourTable td:last-child[id*='34a']").length > 0) { 
       //Exists, do something...
    } 
    • E, se il “qualcosa”, che consiste in un jQuery funzionamento, impostazione css, si può semplicemente catena in su — no, se richiesto: (“#yourTable td:last-child[id*=’34’]”).css(“colore”, “rosso”);
    • ^ inserisci $ all’inizio di espressione
    • Il > 0 parte è ridondante. Solo element.length di lavoro.
  2. 10

    Questo è fatto facilmente con indexOf e last-child.

    <table id='mytable'>
    <tr>
      <td id='abc'></td>
      <td id='cde'></td>
    </tr>
    </table>
    
    <script>
    if($('#mytable td:last-child').attr('id').indexOf('d') != -1) {
       alert('found!');
    }
    </script>

    Qui sarebbe alert ‘trovato’ perché d appare nella stringa cde

  3. 1

    Se il tuo td è “nudo” (cioè non è avvolto in un oggetto jQuery), è possibile accedere sua id attributo direttamente:

    if (myTD.id.indexOf("34a") > -1) {
        //do stuff
    }

    Se è in un oggetto jQuery, avrai bisogno di uscire prima:

    if (jMyTD[0].id.indexOf("34a") > -1 {
        //do stuff
    }

    Il indexOf funzione trova l’offset di una stringa in un’altra. Restituisce -1 se la prima stringa non contiene il secondo a tutti.

    Edit:

    Il secondo pensiero, potrebbe essere necessario chiarire la tua domanda. Non è chiaro quale di questi si sta cercando di abbinare “34a” contro:

    • <td id="1234abcd">blahblah</td>
    • <td id="blahblah">1234abcd</td>
    • <table id="1234abcd"><tr><td>blahblah</td></tr></table>
    • <table id="blahblah"><tr><td>1234abcd</td></tr></table>
  4. 0

    Non è completamente chiaro se si intende ultimo td in ogni tr, o l’ultimo td:

    if ($('#myTable td:last[id*=34a]').length) {
        ...
    }

Lascia un commento