Jquery 如何将CSS样式应用于动态生成的列表(在mCustomScrollbar容器中)?
我正在使用Jquery 如何将CSS样式应用于动态生成的列表(在mCustomScrollbar容器中)?,jquery,css,list,getjson,mcustomscrollbar,Jquery,Css,List,Getjson,Mcustomscrollbar,我正在使用getJSON()从MongoDB数据库动态生成一个列表 生成的HTML是正确的,相关的CSS样式也是正确的 应该有图像作为背景,但它们没有被应用 在Firebug中,我将鼠标悬停在每个的图像背景URL上,然后预览图像,这样我就可以判断路径是否正确,它们只是没有显示出来 我遇到的解决方案包括使用listview('refresh'),但这似乎是一个jQuery移动解决方案,我只是使用标准jQuery 我看到的另一个解决方案是在函数运行后对元素使用addClass(),但是该元素已经在H
getJSON()
从MongoDB数据库动态生成一个列表
生成的HTML是正确的,相关的CSS样式也是正确的
应该有图像作为背景,但它们没有被应用
在Firebug中,我将鼠标悬停在每个
的图像背景URL上,然后预览图像,这样我就可以判断路径是否正确,它们只是没有显示出来
我遇到的解决方案包括使用listview('refresh')
,但这似乎是一个jQuery移动解决方案,我只是使用标准jQuery
我看到的另一个解决方案是在函数运行后对元素使用addClass()
,但是该元素已经在HTML中应用了正确的类,只是没有显示样式
是否有一种在函数运行后重新应用CSS的“标准”方法,或者另一种确保CSS应用于动态生成的列表的方法
HTML
<ul class="my_ul_class"></ul>
<li class="prefix_1" data-thing1="1"><ul class="nested"><li class="hidden_li"><p class="my_p_class">text</p></li></ul></li>
jQuery(外部js文件)
$(文档).ready(函数(){
loadListItems();
});
函数loadListItems(){
var href=“/url”;
$.getJSON(“/path_to_python_script”,{cid:href,格式:'json'},函数(结果){
$.each(results.my_键,函数(k,v){
$(“ul.my\u ul\u class”).append(“
生成的HTML
<ul class="my_ul_class"></ul>
<li class="prefix_1" data-thing1="1"><ul class="nested"><li class="hidden_li"><p class="my_p_class">text</p></li></ul></li>
文本
解决方案
解决方案涉及修改应用于
的div容器的函数的位置
jQuery(外部js文件)
//在自定义函数中包装mCustomScrollbar
函数listScrollbar(){
$(“我的集装箱”).mCustomScrollbar({
水平卷轴:对,
设置宽度:false,
设置高度:false,
总数:550,,
高级:{
updateOnBrowserResize:true,
updateOnContentResize:true,
autoExpandHorizontalScroll:false,
自动聚焦:真
}
})
}
//动态生成
函数loadListItems(){
var href=“/url”;
$.getJSON(“/path_to_python_script”,{cid:href,格式:'json'},函数(结果){
$.each(results.my_键,函数(k,v){
$(“ul.my\u ul\u class”).append(“
我要做的是创建一个由后端生成的.css文件,并在JSON回调中返回该文件的路径。然后在css文件中使用jQuery.apply将该文件附加到head标记,如下所示:ul.my_ul_class li{color:blue;}
这将应用于每个列表项。它是否真的适用于手动添加的li项,而不适用于动态生成的项?css类适用于新创建的和初始dom元素。“您在错误的路径上搜索。@Mujtabhaider提供了一个很好的故障排除建议。是的,当
硬编码时,它工作。为了测试,我将生成的
复制到HTML文件中,并删除了函数,它们显示正确。