Javascript 无法使用$时的目标单个元素(此) 函数modalClosed(){ $(“div#tab”+tabId)。查找('ul') .prepend(“项”) .hide() .fadeIn(“慢”); }

Javascript 无法使用$时的目标单个元素(此) 函数modalClosed(){ $(“div#tab”+tabId)。查找('ul') .prepend(“项”) .hide() .fadeIn(“慢”); },javascript,jquery,Javascript,Jquery,我希望列表()被预先设置好,并且一个接一个的淡入效果,不幸的是我没有办法使用$(这个),上面的代码工作不好,它对所有的函数modalClosed(num)都有效果{ function modalClosed(){ $("div#tab" + tabId).find('ul') .prepend("<li>item</li>") .hide()

我希望列表(
  • )被预先设置好,并且一个接一个的淡入效果,不幸的是我没有办法使用
    $(这个)
    ,上面的代码工作不好,它对所有的
  • 函数modalClosed(num)都有效果{
    
    function modalClosed(){
        $("div#tab" + tabId).find('ul')
                            .prepend("<li>item</li>")
                            .hide()
                            .fadeIn('slow');
    }
    
    $(“div#tab”+tabId)。查找('ul') .prepend(“
  • ”) .hide() .fadeIn('slow',function(){ //回调函数,在fadeIn完成时调用 如果(num>1){ modalClosed(num-1); } }); }
    这是因为
    .prepend()
    返回
    ul
    元素而不是附加的
    li
    元素,因此您隐藏/显示了
    ul
    元素。您可以使用
    prependTo()
    方法反转逻辑,现在
    .hide()
    .fadeIn()
    应用于附加元素,而不是
    ul
    元素

    function modalClosed(num) {
         $("div#tab" + tabId).find('ul')
                            .prepend("<li>item</li>")
                            .hide()
                            .fadeIn('slow', function() {
                                // callback function, called when fadeIn has finished
                                if(num > 1) {
                                    modalClosed(num - 1);
                                }
                            });
    }
    
    $(“
  • ”).hide() .prependTo(“#tab”+tabId+“ul”) .fadeIn(“慢”);

    据我所知,您希望在所有li项目上逐个淡入效果。如果正确,请尝试以下操作:

    $("<li>item</li>").hide()
                      .prependTo("#tab"+tabId+" ul")
                      .fadeIn('slow');
    
    var时间=1000;
    $(“div#tab”+tabId+“ul”)。在(
  • )前面加上前缀; $(“div#tab”+tabId+“ul li”)。每个(函数(){ $(this.hide(); $(此).fadeIn(时间); 时间+=800; });

    如何获取
    tabId
    的值。它是一个全局变量吗?@anupam它重要吗?问题是它不会一个接一个地消失..我将我的li项设置为某个html标记为var,当我执行li.hide()时,什么都不会发生
    var time=1000;
    $("div#tab"+tabId+" ul").prepend("<li>item</li>");
    $("div#tab"+tabId+" ul li").each(function() {
        $(this).hide();
        $(this).fadeIn(time);
        time+= 800;
    });