如果我的HTML列表中有一个负数,我想更改文本颜色

这是我对HTML内的jquery函数的调用。

<ul id="negativeValidation">
    <li>123.5</li>
    <li>-43.5</li>
</ul>


这是我的jQuery函数:

$(document).ready(function() {

    $('#negativeValidation', function() {

        if($("li:contains('-')")== true)
        {
            $("li").css("color", "red");
            console.log("True");
        }else{
            $("li").css("color", "green");
            console.log("False");
        }

    });

});


它不起作用,当我进入控制台时,我总是收到“ false”消息,因此我想知道问题出在哪里或是否缺少某些东西。

最佳答案

首先,在两种情况下都具有console.log('False')

像这样写JS Fiddle



$(document).ready(function() {

  $('#negativeValidation li').each(function() {
    var txt = $(this).text();

    if (txt.indexOf('-') > -1) {
      $(this).css("color", "red");
      console.log("True");
    } else {
      $(this).css("color", "green");
      console.log("False");
    }

  });

});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<ul id="negativeValidation">
  <li>123.5</li>
  <li>-43.5</li>
</ul>

09-11 17:37