javascript - Jquery 脚本以计数脚本中的所有 div 为目标,希望它为每个 div 单独工作

标签 javascript jquery html css

我有一个 jquery 脚本,它可以计算字数并根据字数调整字体大小。问题是它计算父级中带有 h1 的所有属性。我希望它为每个 h1 单独计数。最初的脚本被标记为 h1:first。这是计算类 wofa 中所有 h1 的脚本:

$(function(){

var $quote = $(".wofa h1");

var $numWords = $quote.text().split(" ").length;

if (($numWords >= 1) && ($numWords < 3)) {
    $quote.css("font-size", "1px");
}
else if (($numWords >= 3) && ($numWords < 6)) {
    $quote.css("font-size", "5px");
}
else if (($numWords >= 20) && ($numWords < 30)) {
    $quote.css("font-size", "10x");
}
else if (($numWords >= 30) && ($numWords < 40)) {
    $quote.css("font-size", "15px");
}
else {
    $quote.css("font-size", "1px");
}    

});

最佳答案

已更新 工作示例 FIDDLE

您可以使用 .each() 函数

$('.wofa').each(function() {
    var quote = $(this).find('h1');
    var numWords = quote.text().split(" ").length;
    console.log(numWords);
    if ((numWords >= 1) && (numWords < 3)) {
        quote.css("font-size", "1px");
    } else if ((numWords >= 3) && (numWords < 6)) {
        quote.css("font-size", "5px");
    } else if ((numWords >= 20) && (numWords < 30)) {
        quote.css("font-size", "10x");
    } else if ((numWords >= 30) && (numWords < 40)) {
        quote.css("font-size", "15px");
    } else {
        quote.css("font-size", "1px");
    }
});

关于javascript - Jquery 脚本以计数脚本中的所有 div 为目标,希望它为每个 div 单独工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13546990/

相关文章:

jquery 选择除 div 及其子元素之外的所有元素

html - 流体布局 : aside element larger than main element

jquery - 如何使用 jquery 设置表格单元格的值

javascript - 在 Jade 中内联 Javascript,同时保持缩进

javascript - 通过类名选择动态添加的元素

javascript - 无法读取reactjs中未定义的属性 'includes'?

javascript - 如何在 javascript 中几秒钟后向用户显示错误消息后隐藏/删除错误消息

javascript - jQuery UI : How to make a multi colored ProgressBar? 段颜色不同

javascript - 当前范围内不存在名称 '$' - 模块内的 typescript 和 jquery

javascript - 什么时候应该使用 try/catch 而不是函数来在 JavaScript 中声明非全局变量?