2010-02-17 8 views
2

Salut les gars, j'ai un problème très étrange, c'est-à-dire avec la fonction d'ajout. Fondamentalement, je récupère les données d'un appel ajax en XML. Analyser le xml en variables puis en utilisant la fonction each ajouter à un div spécifique. Fonctionne bien dans firefox a dû faire un travail pour obtenir le fichier à analyser dans ie. S'il vous plaît noter mes variables fines « tous les travaux », etc. ont toutes les valeurs, etc.Problème avec jQuery ajouter dans ie7

Cependant quand j'utilise la fonction append une partie du texte apparaît au hasard en dehors de son contenant div voir image ci-dessous:

alt text http://www.freeimagehosting.net/uploads/e21468dd49.png

Comme vous pouvez voir une partie du texte déborde du conteneur ou semble presque refléter? N'importe quelle façon ci-dessous est un extrait du code où je fais l'append: Je devrais ajouter aussi que j'ouvre cette div dans une boîte de dialogue créée avec jquery ui - qui définit la div contenant pour afficher: block - donc je me demande si est d'avoir un effet.

$(xml).find("entry").each(function() 
{ 

var $item = $(this); 
var title = $item.find("title").text(); 
var linkN = $item.find("link").attr("href"); 
var output = "<a href=\"" + linkN + "\" target=\"_self\">" + title + "<\/a>" + "<br />"; 
$("#notifyBox").append($(output)); 
$('#notifyBox').show(); 
}); 

J'espère vraiment que vous pouvez aider c'est le problème le plus étrange que j'ai jamais rencontré.

+0

voyez-vous quelque chose de bizarre dans la source de vue? – Lazarus

+0

pas la source semble bien - eu un coup d'oeil dans la source générée et tout semble bien se passer. toutes les étiquettes sont fermées correctement etc. juste vraiment difficile à résoudre car ne peut pas sembler des problèmes évidents. – jonnyhitek

+0

En règle générale, j'utilise toujours des guillemets simples pour définir les éléments String en JavaScript. Cela vous laisse libre d'utiliser des guillemets doubles lors de la construction dynamique du balisage et supprime les maux de tête d'avoir à tout échapper. Juste un petit conseil. :) – markedup

Répondre

0

Eh bien, il semble un seul flotteur sur la boîte contenant (float: gauche) - a causé le problème - embêtant par exemple - de toute façon j'espère que cela aidera quelqu'un si ils ont le même problème. Merci à Nick Craver espoir m'a aidé re-facteur mon code un peu - acclamations

2

Essayez ceci:

$(xml).find("entry").each(function() 
{ 
    var $item = $(this); 
    var title = $item.find("title").text(); 
    var linkN = $item.find("link").attr("href"); 
    var output = "<a href='" + linkN + "' target='_self'>" + title + "</a><br />"; 
    $("#notifyBox").append($(output)).show(); 
}); 

Je crois que votre <\/a> est la cause du problème, pas besoin d'échapper à la barre oblique, le navigateur voit comme un élément non fermé.

+0

Acclamations Nick, n'a pas fait de différence cependant grâce à votre suggestion, mon code est un peu plus fluide - ce qui est toujours postif. merci pour votre contribution – jonnyhitek

+0

@jonathan - Pouvez-vous poster le balisage html? Aiderait à comprendre cela –

1

J'ai résolu ce problème:

var a = '<span>Attachment: '+Filedata.substr(Filedata.lastIndexOf('\\')+1).toLowerCase()+'</span>'; 
var b = '<span ><a href="#" class="remove_link" style="cursor:pointer; ">Remove</a></span></br></br>'; 
       var c = a+' '+b; // use instead of append 
       $('div.attach_file').hide(); 
       $('div.Multi_Attach_file').show().html(c); // display c