Quindi sto utilizzando la funzione AJAX di jQuery per leggere alcuni XML per me e ha funzionato bene. Ma ora sto provando a manipolare la proprietà display di 4 differenti div generate dinamicamente quando mouseup viene attivato dagli elementi opzione. La dimensione e x/y dei div sono determinati dall'XML e vengono analizzati.jQuery .append() non funziona in IE, Safari e Chrome
Il mio problema sta nel fatto che questi div non vengono generati o semplicemente non vengono visualizzati in IE, Safari e Chrome. In Firefox e Opera, funzionano. Sto usando jQuery's .append() per creare i div e quindi la funzione .css() per manipolarli. Guardando negli strumenti di sviluppo di Chrome, sto vedendo che la proprietà css che viene modificata nello script viene sovrascritta dalla proprietà nel foglio di stile. Qualche correzione?
div creato qui:
case "dynamic":
var n = name;
switch(portion){
case "stub":
$('.ticket').append("<div class='stubEditable' id='"+n+"' title='stub'></div>");
break;
case "body":
$('.ticket').append("<div class='bodyEditable' id='"+n+"' title='body'></div>");
break;
}
break;
case "static":
var n = name;
switch(portion){
case "stub":
$('.ticket').append("<div class='stubEditable' id='"+n+"' title='stub'></div>");
break;
case "body":
$('.ticket').append("<div class='bodyEditable' id='"+n+"' title='body'></div>");
break;
}
break;
funzioni MouseUp che cambiano la proprietà di visualizzazione:
$('#StubTemplates').find('.ddindent').mouseup(function(){
var tVal = $(this).val();
var tTitle = $(this).attr('title');
if(!stubActive){
$('.stubEditable').css('display', 'none');
$('#'+tVal).css('display', 'block');
stubActive = true;
}else{
$('.stubEditable').css('display', 'none');
$('#'+tVal).css('display', 'block');
stubActive = false;
}
});
$('#StubTemplates').find('#stubTempNone').mouseup(function(){
$('.stubEditable').css('display', 'none');
});
$('#BodyTemplates').find('.ddindent').mouseup(function(){
var tVal = $(this).val();
var tTitle = $(this).attr('title');
if(!bodyActive){
$('.bodyEditable').css('display', 'none');
$('#'+tVal).css('display', 'block');
bodyActive = true;
}else{
$('.bodyEditable').css('display', 'none');
$('#'+tVal).css('display', 'block');
bodyActive = false;
}
});
$('#BodyTemplates').find('#bodyTempNone').mouseup(function(){
$('.bodyEditable').css('display', 'none');
});
In ogni caso, è possibile tagliare lo snippet di codice in un esempio di ciò che sta causando il problema? O almeno fornire alcune informazioni sugli id / classi esatti che stanno causando il problema? Sarebbe utile anche qualsiasi formattazione che puoi fare per ripulire lo snippet. Saluti. – malonso
Va bene, abbassa il più possibile. –
'$ ('#' + tVal)' ugh. Qualcuno ha mai sentito parlare di 'document.getElementById (tval)'? L'id-getter hash-app di jQuery è così diffuso sul Web ... ma è così lento e sfacciato. –