2010-02-16 12 views
0

Pour une raison quelconque, si j'ajoute ces boutons avec jQuery (à cause d'une fonction d'insertion Ajax) ils ont l'air bizarre quand ils sont chargés via PHP sur le serveur?Problème avec les marges lorsque le balisage est ajouté avec jQuery?

http://tomsfil.es/63221c41.png http://tomsfil.es/63221c41.png

Quelle est la raison de ce comportement

Voici le jQuery qu'il insère:

var actions = '<td><a href="#" class="small awesome black editButton" id="'+id+'">Edit</a><a href="/appointments/new/'+id+'/" class="small awesome black">Schedule</a><a href="#" class="small awesome red deleteButton" id="'+id+'">Delete</a></td>'; 
$('.clients tr.headerRow').after("<tr>"+check+"<td>#"+id+"</td>"+name+address+homephone+actions+"</tr>"); 

Répondre

3

Je vais deviner que parce que vous avez organisé le code, chaque bouton est sur une nouvelle ligne, ce qui signifie qu'il y a un espace entre eux. Lorsque vous l'ajoutez via js, y a-t-il un espace entre chaque bouton?

1

Update 1

<tr>"+check+"<td>#"+id+"</td>"+name+address+homephone+actions+"</tr> 

vous insérez valeurs entre <tr> et un <td> imbriqué. C'est un non-non. Les valeurs doivent être dans les étiquettes <td>.

-

Vous devriez examiner l'ancien balisage vs balisage ajouté dynamiquement via Firebug. Il est probable que vos structures soient légèrement différentes ou qu'un attribut de classe ne soit pas appliqué correctement aux nouveaux éléments en raison d'une faute de frappe ou d'un style substitué.

Pour une réponse plus utile, indiquez le balisage initial et le code qui insère le nouveau balisage, ainsi que tout code CSS susceptible d'affecter les éléments.

+0

hmm ouais bien c'est exactement la même chose: | – tarnfeld

+0

@tarnfield: Ce n'est pas * exactement * la même chose, sinon vous n'auriez pas de différences de rendu. – Sampson

+0

haha ​​bon point – tarnfeld

0

Seul le premier espace blanc entre les éléments HTML est important. Ne pas avoir d'espace est différent d'avoir des espaces 1- *.