removeClass不起作用

时间:2014-05-29 10:10:55

标签: javascript jquery addclass removeclass

这是Post Counter Widget的工作版本,当标识符是文本字符串时,它的工作方式很好,由其标记如h1标识

http://jsfiddle.net/epNgj/2/

HTML

<body> 
    <!-- Post Views Counter by MBT--> 
    <h1>Blog Title Twelve</h1>
    <div id='views-container'>
    <div class='mbtloading viewscount' id='postviews'></div>
    <div class='views-text'>visitors read this post</div>
    </div>
</body>

JS

window.setTimeout(function() { 
    document.body.className = document.body.className.replace("loading", ""); 
}, 10); 

$.each($("h1"), function(i, e) { 
    var elem = $(e).parent().find("#postviews").addClass("loading"); 

    var blogStats = new Firebase("https://crackling-fire-6727.firebaseio.com/pages/id/" + $(e).text()); 
    blogStats.once("value", function(snapshot) { 
        var data = snapshot.val(); 
        var isnew = false; 
        if(data == null) { 
            data= {}; 
            data.value = 0; 
            data.url = window.location.href; 
            data.id = $(e).text(); 
            isnew = true; 
        }
        console.log(data)
        elem.removeClass("loading").text(data.value); 
        data.value++; 
        blogStats.set(data); 
    }); 
}); 

但是,当标识符是名称标签[name]查找标签名称时,addClass,removeClass函数会失败,尽管例程访问数据库并更新它(小部件的剩余功能)

示例http://lastingrose.blogspot.co.uk/2014/05/why-was-2014-indian-parliament-election.html

当像name =这样的数据标识符是一个硬编码到html中的字符串,如&#34;更多&#34; removeClass()的工作原理。当您从菜单中插入一个中断时,这将在编辑器中完成。

如果从代码中动态创建名称= expr:name = MBT代码适用于创建和更新Firebase数据库,但removeClass函数不起作用。

任何人都知道如何解决这个问题?

0 个答案:

没有答案