我用jquery动态地创建了一些元素(比如id为test_element1
、test_element2
等等)。
我有以下CSS -
div[id^=test_]:before {
content: "";
height: 100%;
width: 100%;
box-shadow: #aaaaaa 0px 0px 10px inset;
position: absolute;
left: 0px;
top: 0px;
z-index: -1;
}
当我检查::before
元素时,它没有显示出来,只有当test_element1
已经存在于HTML中(即静态内容)时,它才会显示出来。
如何使::before
显示在动态元素中?
5条答案
按热度按时间kkbh8khc1#
pseudo元素没有出现是没有理由的。也许你可以检查一下你的代码,看看是否有其他地方的问题。这里有一个你正在尝试实现的工作示例,也许你可以将其与你的代码进行比较,并找到一个适合你具体情况的解决方案。但最终的答案是它应该工作,所以问题不在于css/jquery关系。
2izufjch2#
这将是你问题的答案。
ahy6op9u3#
请检查此代码片段,并相应地修复您的代码。这里我生成动态按钮与动态id。我还指定了css属性使用伪属性选择器。
编辑你的代码,让我知道你的想法。我希望这将解决你的问题。
kt06eoxx4#
答案是
你不能使用javascript或jquery来操作伪元素:after和:before,甚至不能动态地添加它们。
deyfvvtc5#
设置伪元素时,需要添加选择器z索引+位置。