具有类(.long)的Count div仅显示0

时间:2018-09-03 作者:Lara

我想用一个类计算一个div(它是插件旋转滑块中的一个类)

div.tp-tab

该类存在3次!

我试过这个:

<script type="text/javascript">
jQuery(document).ready(function() {
    var exist = jQuery(\'div[data-liindex]\').length;
    console.log(exist);
});
</script>
还有这个:

<script type="text/javascript">
jQuery(document).ready(function() {
    var exist = jQuery(\'div.tp-tab\').length;
    console.log(exist);
});
</script>

But it only shows 0.

我将代码放在了底部,因此插件的代码肯定是在之前加载的:

...    
<?php wp_footer(); ?>

<script type="text/javascript">
    jQuery(document).ready(function() {
        var exist = jQuery(\'div[data-liindex]\').length;
        console.log(exist);
    });
</script>
</body>
</html>
如果我更换div.tp-tabdiv[data-liindex] 具有divimg 除此之外,它还显示了正确的数字。

有什么想法吗?

1 个回复
最合适的回答,由SO网友:Mark Cicchetti 整理而成

我在插件内容方面遇到过几次这种情况。似乎在动态内容仍在加载时触发了document ready事件。检查的方法是将Javascript留在原处并加载页面。页面完全加载后,进入浏览器控制台(右键单击并在Firefox上“inspect element”,或只对Chrome进行“inspect”。在两者上,单击顶部的“console”,然后在代码字段(底部为FF,顶部为Chrome)中键入“jQuery(\'tp-tab\')。长如果您得到的不是记录的值,这就是问题所在。

解决这一问题的最快方法是破解。将代码放入函数中,然后放入文档中。ready块,调用setTimeout(\'yourFunction()\',500)。更好的方法是查看插件是否提供了在加载内容后触发的挂钩,或者(哎哟!)编辑插件。

如果您确切知道将有多少个选项卡,您可以将该检查放入您的函数中。对于(未测试)示例:

(function($){
    $(document).on(\'ready\', function() {
        setTimeout(\'adjustTabs()\', 500);
    })
})(jQuery)
function adjustTabs() {
    if (jQuery(\'.tp-tabs\').length < 3) {
        setTimeout(\'adjustTabs()\', 500);
    } else {
        //  Do stuff here
    }
  }
}

结束

相关推荐

WP管理员缺少图标、大量的JavaScript错误,但仅当SCRIPT_DEBUG为FALSE时

我可以访问一台Linux/Apache服务器,在那里我试图部署WordPress。为了避免这个错误,我用默认的2017主题和所有禁用的插件对其进行了测试。当我以管理员身份登录到任何wp admin页面时,左侧导航中的大多数图标都会丢失,选中的复选框没有任何复选框(例如),浏览器控制台会充满JavaScript错误。例如,在仪表板页面上,没有任何图标可见,错误控制台的内容如下:Uncaught TypeError: a.widget is not a function at load-scripts