js 中的switch如何使用“>6”这样的比较条件?
难道只能用if else?以下程序报错了<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
function test_switch(){
$.each($("#test li"),function(i,n){
switch($(n).text().length){
case <6 : $(n).html("1");break; //不能用大于或小于?
case >20 : $(n).html("2");break; //不能用大于或小于?
default : $(n).html("3");break;
}
});
}
</script><u id="test">
<li>hello</li>
<li>hello everybody</li>
<li>hello everybody,happy everyday</li>
</ul>
<button onclick="test_switch();">test</button>

解决方案 »

  1.   

    可以变通一下:
    ($(n).text().length < 6 ? 自己定义:自己定义)
      

  2.   

    没有这个语法。case 1:case 2:case 3:case 4:case 5:case 6:
        ....
        break;
    不如直接if。
      

  3.   


    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
    <script type="text/javascript">
    function test_switch(){
    $.each($("#test li"),function(i,n){
    var len=$(n).text().length
    switch(true){
    case len<6: $(n).html("1");break; //不能用大于或小于?
    case len>20: $(n).html("2");break; //不能用大于或小于?
    default: $(n).html("3");break;
    }
    });
    }
    </script><u id="test">
    <li>hello</li>
    <li>hello everybody</li>
    <li>hello everybody,happy everyday</li>
    </ul>
    <button onclick="test_switch();">test</button>
    这样没报错,但点击没有反应,是什么问题?
      

  4.   

    参看http://blog.csdn.net/fc_lamp/archive/2009/08/04/4409432.aspx
    switch可以使用比较条件
      

  5.   

    你的demo有问题。<u id="test"><ul id="test">