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

Javascript Jquery脚本以计数脚本中的所有div为目标,希望它对每个div单独工作,javascript,jquery,html,css,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)

我得到了一个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");
}    
$(函数(){
变量$quote=$(“.wofa h1”);
var$numWords=$quote.text().split(“”).length;
如果(($numWords>=1)和($numWords<3)){
$quote.css(“字体大小”,“1px”);
}
否则如果($numWords>=3)和($numWords<6)){
$quote.css(“字体大小”,“5px”);
}
如果($numWords>=20)和($numWords<30)){
$quote.css(“字体大小”,“10倍”);
}
如果($numWords>=30)和($numWords<40)){
$quote.css(“字体大小”,“15px”);
}
否则{
$quote.css(“字体大小”,“1px”);
}    

}))

更新了工作示例

可以使用.each()函数

$('.wofa')。每个(函数(){
var quote=$(this.find('h1');
var numWords=quote.text().split(“”).length;
控制台日志(numWords);
如果((numWords>=1)和&(numWords<3)){
css(“字体大小”,“1px”);
}如果((numWords>=3)和&(numWords<6)){
css(“字体大小”,“5px”);
}如果((numWords>=20)和&(numWords<30)){
css(“字体大小”,“10倍”);
}如果((numWords>=30)和&(numWords<40)){
css(“字体大小”,“15px”);
}否则{
css(“字体大小”,“1px”);
}
});
我用选择器尝试了.each()方法,但没有选择任何内容

我最后使用了$('.wofa,h1)。each():

下面是一个关于JSFIDLE的工作版本:

我会检查,但我确信你可以做一个“for each”函数,它将在所有的.wofa中循环,因为它现在的设置方式将只检查一个,然后在该类中检查所有的h1。我不完全理解你的问题,但你可能想使用
$quote.each
。jQuery文档:这行不通。每个h1仍然和原来的h1有相同的字体大小。@JacobJohansson-Hmmm…这很奇怪,你能显示你的html吗?其中一个元素。请注意,我尝试将代码从h1更改为span。还是没用。我试过那个代码,它计算了我的h1的所有单词。问题是当我试图输入代码来调整字体大小时$(document).ready(function(){var words;var quote=$('.wofa h1')。each(function(){numWords=$(this.html()).split(“”);alert($(this.html()+'has'+words.length+'words');if($numWords>=1)和($numWords<3)){$quote.css(“字体大小”,“1px”);}这段代码没有更改字体大小,只调用了哪一个。我将尝试在我的JSFIDLE中添加字体大小更改,并回复:)谢谢。我想你的选择器“在”每个都不起作用,请再试一次。
$('.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");
    }
});
$('.wofa, h1').each(function() { 
    var words = $(this).html().split(" ");
    alert($(this).html() + ' has ' + words.length + ' words');
});