0
votes

Impossible d'ajouter du contenu de chaîne à la cellule de table HTML avec JavaScript

Ce dont j'ai besoin est d'ajouter du contenu HTML sur une cellule de table HTML avec jQuery via une méthode d'append. Ceci est mon code, xxx

mais le contenu annexé ressemble à bonjour au lieu de Bonjour . Ce sera génial si quelqu'un peut m'aider à ce sujet.


2 commentaires

S'il vous plaît fournir un code complet


Pouvez-vous essayer $ (cellule1) .append (contenu); problème est Cell1 n'est pas un objet jQuery, alors peut-être que cela fonctionne


4 Réponses :


0
votes

Vous pouvez utiliser insérableadjacenthtml code> pour l'annexe de texte en tant que HTML

cell1.insertAdjacentHTML('beforeend', content);
cell2.insertAdjacentHTML('beforeend', content);


0 commentaires

0
votes

Le problème dans votre cas est index code>. Si l'indice est -1 ou égal au nombre de lignes, la ligne est annexée comme dernière ligne. Si l'indice est supérieur au nombre de lignes, une exception IndexizeError résultera. Si l'index est omis, il est par défaut à -1. sur INSERTROW

p>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.1/jquery.min.js"></script>
<input type="button" value="add more" class="add_client"/>
<table id="client_table">
 
</table>


1 commentaires

Vous ne résolvez pas le problème. Vous avez eu l'indexizeError parce que vous n'aviez pas de lignes. Le problème était d'utiliser jQuery append sur un nœud DOM



1
votes

Vous utilisez la méthode JavaScript APPEND non JQuery si vous souhaitez utiliser la méthode JQuery APPEND, utilisez-la comme ci-dessous $ (CELL2) .Append (Content) code>

P>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button class="add_client">Add</button>

<table id="client_table">
  <tr>
    <td>A1</td>
    <td>B1</td>
  </tr>
    <tr>
    <td>A2</td>
    <td>B2</td>
  </tr>
    <tr>
    <td>A3</td>
    <td>B3</td>
  </tr>
    <tr>
    <td>A4</td>
    <td>B4</td>
  </tr>
    <tr>
    <td>A5</td>
    <td>B5</td>
  </tr>
    <tr>
    <td>A6</td>
    <td>B5</td>
  </tr>
</table>


2 commentaires

Pourquoi ne pas utiliser JQuery tout le chemin?


@MPLUGJAN Je pense qu'il a obtenu ce code de W3school, je ne veux pas perturber son apprentissage en donnant une nouvelle approche qu'il souhaitait utiliser jQuery append c'est pourquoi je lui ai dit que



1
votes

Vous utilisez jQuery Ajouter sur un nœud DOM. Vous devez envelopper la cellule en $ ()

$ (cellule1) .Append (contenu); code> p>

mais depuis que vous avez jQuery, utilisez-le - par exemple comme celui-ci p>

p>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button class="add_client" type="button">Click</button>
<table id="client_table">
  <tbody>
    <tr>
      <td>0</td>
      <td>Row 0</td>
    </tr>
    <tr>
      <td>1</td>
      <td>Row 1</td>
    </tr>
    <tr>
      <td>2</td>
      <td>Row 2</td>
    </tr>
    <tr>
      <td>3</td>
      <td>Row 3</td>
    </tr>
    <tr>
      <td>4</td>
      <td>Row 4</td>
    </tr>
    <tr>
      <td>5</td>
      <td>Row 5</td>
    </tr>
  </tbody>
</table>


1 commentaires

Vous avez déjà écrit la manière JQuery Wayway. Bonne idée, maintenant s'il veut JQuery tout ce qu'il a le code. Merci