我有一个包含许多 div 的 div。所有这些细分都有许多与特定命名模式匹配的类。我有许多名为“tile1Full”、“tile1Thumb”、“BG1Full”、“BG1Thumb”的类。所以我的 html 可能看起来像这样:
<div id=parent>
<div>
<div class='tile1Full BG2Full border1'>
</div>
<div>
<div class='tile3ContainerFull border1'>
<div class=tile2x2Full border3></div>
</div>
</div>
我想用它们的“Thumb”对应物替换名称中包含“Full”的所有类,所以结果是这样的:
<div id=parent>
<div>
<div class='tile1Thumb BG2Thumb border1'>
</div>
<div>
<div class='tile3ContainerThumb border1'>
<div class=tile2x2Thumb border3></div>
</div>
</div>
这是我想出的:
contents.find('div').each(function (i) {
if ($(this).attr('class')!==undefined)
{
$(this).attr('class',$(this).attr('class').replace(/Full/g,'Thumb'));
}
});
问题是,根据 Firefox“检查元素”,当我查看类属性时,新的类名就在那里。但是,当我查看 CSS 检查器时,实际上并没有应用这些类。正如预期的那样,它不再应用“完整”类,但也不再应用“拇指”类。
该类所做的其中一件事是设置 div 的宽度和高度。div 本身不包含任何内容;只是背景图像,所以由于没有应用新类,它们的宽度和高度都为 0,实际上消失了。
为什么属性检查器会报告它们具有所需的类,但 CSS 检查器却显示这些类没有被应用?
谢谢