그래서 저는 jQuery의 AJAX 함수를 사용하여 XML을 읽었습니다. 하지만 이제 mouseup이 옵션 항목에서 트리거 될 때 동적으로 생성 된 4 개의 div의 표시 속성을 조작하려고합니다. div의 크기와 x/y는 XML에 의해 결정되며이를 통해 파싱됩니다.jQuery .append()가 IE, Safari 및 Chrome에서 작동하지 않습니다.
제 문제는이 div가 생성되지 않았거나 IE, Safari 및 Chrome에 표시되지 않는다는 것입니다. Firefox와 Opera에서는 작동합니다. 나는 jQuery의 .append()를 사용하여 div를 만든 다음 .css() 함수를 사용하여 조작합니다. Chrome의 개발자 도구를 살펴보면 스크립트에서 변경된 CSS 속성이 스타일 시트의 속성에 의해 무시되고 있음을 알게되었습니다. 모든 수정 사항?
div를 여기에 생성 : 디스플레이 속성 변경
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;
와 mouseUp 기능 :
$('#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');
});
어쨌든 문제의 원인에 대한 예를 들자면 코드 스 니펫을 다듬을 수 있습니까? 또는 적어도 문제를 일으키는 정확한 ID/클래스에 대한 정보를 제공 하시겠습니까? 해당 스 니펫을 정리하기 위해 수행 할 수있는 서식도 유용합니다. 건배. – malonso
좋아, 내가 갈 수있는 한 최대한 내렸다. –
'$ ('#'+ tVal)'우. 'document.getElementById (tval)'에 대해 들어 본 적이 있습니까? jQuery 해시를 추가하는 id-getter는 웹에서 널리 퍼져 있지만 ... 너무 느리고 kludgy입니다. –