2017-08-15 1 views
0

ich unter jQuery-Code für meine Bootstrap-Tabelle NebenWie eine Klasse td-Tag in Bootstrap-Tabelle mit Jquery

$(document).ready(function() { 
    $('.table>tr>td').addClass('redBg'); 
    console.log('hg');  
}); 

verwendet habe, hinzufügen, wie ich diese

versuchte man
$(document).ready(function() { 
    $('.table>tbody>tr>td').addClass('redBg'); 
    console.log('hg'); 

}); 

Aber die Klasse wird nicht an den td Tag hinzugefügt,

Hier ist die Arbeits Geige ist https://jsfiddle.net/udarazz/0vx7tjfq/

Kann mir jemand helfen, dieses Problem zu beheben?

+0

wie etwa '$ ('table tr> td.) addClass (' redBg')' –

+0

@ N.Ivanov ja es funktioniert, aber ich brauche die Tabelle angeben.. Gibt es eine andere Möglichkeit, das zu tun, – Udara

+1

wenn Sie jquery verwenden, müssen Sie nicht '.' infront von html definierten Tags verwenden. Sie können '.' nur mit Klassennamen verwenden –

Antwort

2

Wenn Sie weglassen, viele Browser fügen implizit einen <tbody> Container hinzu, um alle Tabellenzeilen zu umbrechen. Sie können dies überprüfen, indem Sie die Entwicklerwerkzeuge/den Inspektor Ihres Browsers verwenden. Die resultierende Struktur:

<table> 
    <tbody> 
     <tr> 
      <td></td> 
     </tr> 
    </tbody> 
</table> 

Es bedeutet <tr> ist nicht länger ein direkter Nachkomme von <table> und Ihre table > tr Wähler nicht mehr funktionieren.

um es zu umgehen, können Sie entweder:

  • Explizit <tbody> in Ihrem Markup enthalten und table > tbody > tr > td Selektor verwenden. table tr > td

JSFiddle Arbeiten:

  • Sie nicht direkt Selektor Kind verwenden.

    Als Bootstrap Arten die Hintergründe von geraden Zeilen und schwebt, könnten Sie Ihre Klassendefinition spezifischer als Bootstrap des integrierten Stile machen müssen:

    table.table tr > td.redBg { 
        background-color: red; 
    } 
    

    Alternativ Sie !important zu Ihrem CSS hinzufügen können, außer Kraft zu setzen :

    .redBg { 
        background-color: red !important; 
    } 
    
  • 0

    AKTUALISIERT JQUERY

    $(document).ready(function() { 
        $('.table tr > td').addClass('redBg'); 
        console.log('hg'); 
    }); 
    
    +0

    Vermutlich hat das OP die Nachkommenselektoren aus einem bestimmten Grund dorthin gestellt. Wenn Sie sie entfernen, ändert sich die Logik für die Stile –

    0

    Wenn es das erste <td> im <table> Sie versuchen, die Klasse hinzuzufügen zu verwenden:

    $(document).ready(function() { 
        $('.table tr td:first-child').addClass('redBg'); 
        console.log('hg'); 
    }); 
    

    https://jsfiddle.net/0vx7tjfq/5/

    Verwandte Themen