所以我正在使用jQuery的AJAX函数来读取XML,它一直运行得很好。但现在我正在尝试在选项项目触发mouseup时操作4个不同动态生成的div的显示属性。div的大小和x/y是通过XML确定并进行解析的。
我的问题在于,这些div在IE、Safari和Chrome中要么没有生成,要么就不显示。在Firefox和Opera中,它们可以正常工作。我使用jQuery的.append()创建div,然后使用.css()函数对其进行操作。在Chrome的开发者工具中,我看到脚本中被更改的css属性被样式表中的属性覆盖了。有什么解决办法吗?
此处创建Divs:
我的问题在于,这些div在IE、Safari和Chrome中要么没有生成,要么就不显示。在Firefox和Opera中,它们可以正常工作。我使用jQuery的.append()创建div,然后使用.css()函数对其进行操作。在Chrome的开发者工具中,我看到脚本中被更改的css属性被样式表中的属性覆盖了。有什么解决办法吗?
此处创建Divs:
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');
});
$('#'+tVal)
真让人头疼。有没有人听说过document.getElementById(tval)
?jQuery中的哈希追加ID获取器在Web上如此普遍...但它非常缓慢和笨拙。 - Delan AzabanijQuery({id: tVal})
或jQuery({'class': classVar})
。 jQ 1.4已经提供了类似MooTools的对象参数元素创建功能- http://www.milesj.me/blog/read/77/Element-Creation-In-JQuery-1.4。选择器的类似功能也将非常棒。 - Anurag