当试图将一个div附加到另一个时我发现这不起作用:
var htmlCell = jQuery('<div id="ddd"></div>').attr({ 'className': "basecell" }).css({ 'top': 165 + 'px' }).css({ 'left': 335 + 'px' }).css({ 'background-color': '#ffffff' });
$("#dtest").append(htmlCell);
但这样做:
var htmlCell = jQuery('<div id="ddd"></div>').css({ 'height': 165 + 'px' }).css({ 'width': 165 + 'px' }).css({ 'position': 'absolute' }).css({ 'top': 165 + 'px' }).css({ 'left': 335 + 'px' }).css({ 'background-color': '#ffffff' });
$("#dtest").append(htmlCell);
使用下面的CSS:
#dtest
{
position: relative;
top: 0px;
left: 50px;
height: 469px;
width: 685px;
z-index: 86;
background-color: #000000;
}
.basecell
{
position: absolute;
width: 116px;
height: 116px;
background-color: #ffffff;
}
在这两种情况下,#dtest的children()。长度为1,但在使用类的语句中,它是不可见的。有什么想法吗?
答案 0 :(得分:3)
var htmlCell = jQuery('<div id="ddd"></div>').addClass("basecell").css({ 'top': 165 + 'px' }).css({ 'left': 335 + 'px' }).css({ 'background-color': '#ffffff' });
$("#dtest").append(htmlCell);
你也可以这样做:
$('<div id="ddd">').addClass("basecell").css({ 'top': 165 + 'px', 'left': 335 + 'px', 'background-color': '#ffffff }).appendTo($("#dtest"));
没有名为className
的属性。如果要使用jQuery将类名设置为元素,则必须使用$(elem).addClass('classname')
方法。相反,您可以使用$(elem).removeClass('classname')
删除课程。要删除所有课程,请使用$(elem).removeClass()
。
答案 1 :(得分:0)
className
不是您要查找的属性。向前走。
它应该是class
或使用像Calvin建议的jQuery的addClass
方法。
答案 2 :(得分:0)
我将分享这一点,以防万一发生在桌面和移动设备上,并使用Bootstrap来隐藏和显示一些元素。
使用append或任何修改HTML的函数时,请确保您正在操作此刻可见的元素。
对我来说,追加不起作用,我的浏览器窗口宽度为300像素。经过4个小时的研究寻找答案为什么附加不起作用,我看看我的HTML,分别看到两个表'visible-xs'和'hidden-xs',我想知道片刻。当我最大化浏览器...瞧!列表中包含了所有预期的附加内容。我正在用'hidden-xs'编辑表格,但是用'visible-xs'类观看表格。
不要像我一样! :)