我希望我说的正确。我正在使用jQuery函数根据文本的长度在单独的跨度中调整文本大小。到目前为止,还不错,但是它是所有值的总和,我需要它逐个检查它们,并将调整大小规则基于最长的值。问题是所讨论的跨度是使用for循环渲染的,因此也难怪它会组合这些值。一次显示的跨度不会超过三个。

有人可以帮忙吗?

<script type="text/javascript">
var $quote = $(".check_in_footer .last_check.units");
var $numWords = $quote.text().length;

jQuery(document).ready(function($) {

    alert($numWords);

    $(function() {
        if (($numWords >= 1) && ($numWords < 6)) {
            $quote.css("font-size", "400%");
        }
        else if (($numWords >= 7) && ($numWords < 8)) {
            $quote.css("font-size", "600%");
        }
        else {
            $quote.css("color", "#ff0000");
        }

    });
});

最佳答案

  $(".check_in_footer .last_check.units").each(function () {
  var $numWords = $(this).text().length;

    if (($numWords >= 1) && ($numWords < 6)) {
        $(this).css("font-size", "400%");
    }
    else if (($numWords >= 7) && ($numWords < 8)) {
        $(this).css("font-size", "600%");
    }
    else {
        $(this).css("color", "#ff0000");
    }

  });


并且您需要删除代码的前两行(在打开脚本标签的正下方)。
我没有检查其余的代码,只是实现了循环逻辑。

09-16 00:56