如何检查跨度内的数字并根据值更改其颜色?

时间:2015-05-08 12:59:01

标签: javascript jquery html css

这就是我所拥有的。它没有正确读取值。

http://jsfiddle.net/neowot/7o87wrsy/

HTML:

<a class="InterestLink">Click me</a>

<div id="InterestExpander">
            <div id="InterestExpanderX">
                &times;
            </div>

            <br><br>

            General Rating: 
            <span class="RatingGeneralNumber">80%</span>
</div>

CSS:

<a class="InterestLink">Click me</a>

<div id="InterestExpander">
            <div id="InterestExpanderX">
                &times;
            </div>

            <br><br>

            General Rating: 
            <span class="RatingGeneralNumber">80%</span>
</div>

jQuery的:

$('.InterestLink').click(function() {
    $('#InterestExpander').fadeIn(450);

    if (parseInt($('.RatingGeneralNumber').val()) > 50 ) {
        $('.RatingGeneralNumber').css({"color":"green"});
    }

}); 



$('#InterestExpanderX').click(function() {
    $('#InterestExpander').fadeOut(250);
});

另外,我在这里的另一个问题。该网站将链接到多个不同的电影。每次他们点击电影链接时,都会弹出相同的div,但根据数据库的说法,电影的评级是唯一的。

跨度是否包含电影评级更适合作为“ID”或“类”类型,还是两者都不合适?

2 个答案:

答案 0 :(得分:1)

使用text()代替val span元素使用text()

    $('.InterestLink').click(function() {
        $('#InterestExpander').fadeIn(450);
        
        if (parseInt($('.RatingGeneralNumber').text()) > 50 ) {
            $('.RatingGeneralNumber').css({"color":"green"});
        }
     
    }); 



    $('#InterestExpanderX').click(function() {
        $('#InterestExpander').fadeOut(250);
    });
.InterestLink {
}

#InterestExpander {
    color:white;
    background-color:#484848;
    position:fixed;
    margin-left:auto;
    margin-right:auto;
    width:700px;
    height:480px;
    display:none;
    box-shadow:0px 0px 5px 0px #000000;
}

 
#InterestExpanderX {
    float:right;
    cursor:pointer;
    font-family:Arial;
    font-size:50px;
}


.RatingGeneralNumber{
    display:block;
    font-size:22px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<a class="InterestLink">Click me</a>

<div id="InterestExpander">
            <div id="InterestExpanderX">
                &times;
            </div>
         
            <br><br>
                   
            General Rating: 
            <span class="RatingGeneralNumber">80%</span>
</div>

答案 1 :(得分:1)

您需要将$(".RatingGeneralNumber").val()替换为$(".RatingGeneralNumber").text(),因为val()仅适用于form子元素,例如:inputtextarea,{{ 1}}元素。试试这个,你的代码将完美无缺! :)