jQuery .text (). length () используется с циклом for - PullRequest
1 голос
/ 21 июня 2011

Надеюсь, я правильно сформулировал это. Я использую функцию 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");
        }

    });
});

1 Ответ

4 голосов
/ 21 июня 2011
  $(".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");
    }

  });

И вам нужно удалить первые две строки кода (прямо под открывающим тегом скрипта. Я не проверял остальную часть кода, просто реализовал логику цикла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...