2017-09-13 3 views
-1

J'essaie d'ajouter des append à l'intérieur de chaque th. tête de tableau est généré dynamique dépendent de la base de données ColonneAjoute du texte à chaque en-tête de table (th) en utilisant JQuery

Voici ce que j'ai:

<table id="dynamic_id" class="table table-striped table-bordered"> 
    <thead> 
     <tr> 
      <th>Company Name</th> 
      <th>Email</th> 
      <th>Mobile</th> 
      <th>Address</th> 
     </tr> 

    </thead> 
    <tbody> 
     //body goes here 
    </tbody> 

    </tbody> 
</table> 

Qu'est-ce que Expect en utilisant jQuery Ready Event.

<th>Company Name 
      <span class="js-sorter-desc fa fa-chevron-down pull-right"></span> 
      <span class="js-sorter-asc fa fa-chevron-up pull-right"></span> 
</th> 

Cela devrait être appliquer sur chaque Th ..

<span class="js-sorter-desc fa fa-chevron-down pull-right"></span> 
<span class="js-sorter-asc fa fa-chevron-up pull-right"> 
+0

http://api.jquery.com/append –

+0

Bienvenue sur Stack Overflow! S'il vous plaît, prenez le [tour], jetez un coup d'œil, et lisez [help], en particulier [* Comment poser une bonne question? *] (/ Help/how-to-ask) Faites vos recherches, y compris en regardant via [l'API jQuery] (http://api.jquery.com), et essayez de faire le travail. ** Si ** vous rencontrez un problème * spécifique *, après une recherche plus approfondie et [recherche] (/ help/search) ici sur place, si vous ne pouvez pas le résoudre, postez votre tentative avec les problèmes que vous rencontrez avec ça. Les gens seront heureux d'aider. –

+0

Comptez le nombre de colonnes en utilisant si la table est dynamique et ensuite ajoutez ce que vous voulez à l'intérieur de chaque –

Répondre

1

Vous devez utiliser appendméthode jquery.

Aussi, utilisez la méthode find afin d'obtenir tous les thDOM éléments.

$('.table.table-striped').find('thead tr th').append('<span class="js-sorter-desc fa fa-chevron-down pull-right"></span><span class="js-sorter-asc fa fa-chevron-up pull-right"></span>'); 
 
console.log($('.table.table-striped').html());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table id="dynamic_id" class="table table-striped table-bordered"> 
 
    <thead> 
 
     <tr> 
 
      <th>Company Name</th> 
 
      <th>Email</th> 
 
      <th>Mobile</th> 
 
      <th>Address</th> 
 
     </tr> 
 

 
    </thead> 
 
    <tbody> 
 
     //body goes here 
 
    </tbody> 
 
</table>

+0

Vous n'avez pas besoin de 'each()' ici –

+0

@RoryMcCrossan, merci pour votre argument! Actualisé. –

0

Essayez ceci:

$(document).ready(function(){ 
    $('table').find('th')append('<span class="js-sorter-desc fa fa-chevron-down pull-right"></span><span class="js-sorter-asc fa fa-chevron-up pull-right">'); 
}); 
+0

Vous n'avez pas besoin de 'each()' ici. Tout le point est que le 'id 'est généré dynamiquement à l'exécution, donc la sélection par lui ne fonctionnerait probablement pas. –

+0

Merci @RoryMcCrossan, j'ai mis à jour ma réponse. J'ai utilisé 'each' pour avoir du code dynamique. Je sais qu'il veut ajouter à tout '' de sorte que nous pouvons simplement le considérer comme un sélecteur. –

+0

Je n'ai aucune idée de ce que cela signifie, mais vous n'avez toujours pas besoin de la 'each()' 'dynamique' ou non –