Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何将CSS样式应用于动态生成的列表(在mCustomScrollbar容器中)?_Jquery_Css_List_Getjson_Mcustomscrollbar - Fatal编程技术网

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文件中,并删除了函数,它们显示正确。