Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.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在动态创建元素后设置样式/引用元素_Jquery_Css - Fatal编程技术网

jQuery在动态创建元素后设置样式/引用元素

jQuery在动态创建元素后设置样式/引用元素,jquery,css,Jquery,Css,我有一个包含许多功能面板的页面,在这些面板下面我为每个面板都添加了一个按钮。其思想是,当用户单击一个按钮时,相关的面板被渲染(其余部分被隐藏)。我正在做一些JQuery,它 从功能面板创建阵列-其中class=幻灯片内容 逐步完成阵列,为每个功能面板创建一个“按钮”-#slidecontrol+唯一ID 然后将s中的这些链接附加到页面中的集合中 当用户单击一个链接时,代码会在数组中后退一步,关闭那些不相关的功能面板,然后打开一个相关的功能面板。然后,这段代码还尝试对单击的链接应用独特的样式

我有一个包含许多功能面板的页面,在这些面板下面我为每个面板都添加了一个按钮。其思想是,当用户单击一个按钮时,相关的面板被渲染(其余部分被隐藏)。我正在做一些JQuery,它

  • 从功能面板创建阵列-其中class=幻灯片内容
  • 逐步完成阵列,为每个功能面板创建一个“按钮”-#slidecontrol+唯一ID
  • 然后将
  • s中的这些链接附加到页面中的集合中
  • 当用户单击一个链接时,代码会在数组中后退一步,关闭那些不相关的功能面板,然后打开一个相关的功能面板。然后,这段代码还尝试对单击的链接应用独特的样式
... 这就是我遇到问题的地方。由于某些原因,我无法引用以前动态创建的链接-既不能使用.css()也不能使用.addClass()

我的jQuery代码:

slideArray = $('.slide-content'); //array of slide-content divs
var $ulslidecontrols = $('#slide-controls'); //instance of slides ul
var $indexno 
//step through the array - create a nav button/link for each slide content div
$.each(slideArray, function (index, value) {
    $indexno = index;
    $indexno++;
    $ulslidecontrols.append(
        $("<li><a href='#' class='slide-control' id='slidecontrol " + $indexno + "'>"
        + $indexno + "</a></li>")
    );
});

$('a.slide-control').click(function () {
    var $slide = $(this).attr("id");
    $slide = $slide.charAt($slide.length - 1);

    //step through the slideArray, hiding slide-content not selected and amending
    style of slide-controls
        $.each(slideArray, function (index, value) {
            $indexno = index;
            $indexno++
            if ($indexno == $slide) {
                $('#slidecontent' + $indexno).hide().fadeIn(600); 
                //display slide content
                $('#slidecontrol' + $indexno).css('font-size', '50px');
            } 

            else {
                $('#slidecontent' + $indexno).hide(); //hide slide content
            }
        });
   });   
slideArray=$('.slide-content')//幻灯片内容div数组
var$ulslidecontrols=$(“#滑动控制”)//幻灯片实例
var$indexno
//逐步浏览阵列-为每个幻灯片内容div创建导航按钮/链接
$.each(幻灯片、函数(索引、值){
$indexno=指数;
$indexno++;
$ulslidecontrols.append(
$(“
  • ”) ); }); $('a.slide-control')。单击(函数(){ var$slide=$(this.attr(“id”); $slide=$slide.charAt($slide.length-1); //单步执行slideArray,隐藏未选择的幻灯片内容并进行修改 滑动控件的样式 $.each(幻灯片、函数(索引、值){ $indexno=指数; $indexno++ 如果($indexno==$slide){ $('#slidecontent'+$indexno.hide().fadeIn(600); //显示幻灯片内容 $('#slidecontrol'+$indexno).css('font-size','50px'); } 否则{ $('#slidecontent'+$indexno.hide();//隐藏幻灯片内容 } }); });

    对运行时添加的任何元素使用jquery live

    http://api.jquery.com/live/
    
    我觉得你的代码有问题

    检查$indexno正在打印和

     $('#slidecontent'+$indexno)
    

    嗨,科比,我已经试过了,虽然它似乎没有帮助。。替换('a.slide-control')。单击(函数(){…和$('a.slide-control')。现场(“单击”,函数(){@dan,检查你的$indexno onceKobe-我同时遇到了同样的情况…真是个沃利!!为科比的帮助干杯。非常感谢;)