从jquery设置样式属性

时间:2011-10-19 16:16:38

标签: jquery html css

我正在尝试创建一个脚本,在单击该按钮时,在3个按钮的行中为按钮添加左右边框,否则保持没有边框。我到目前为止的代码是:

$("#popular").click(function(){  
    clearBorders();
    //make borders here (this works)   
}); 

$("#suggestions").click(function(){    
    clearBorders();
    //make borders here (this works)   
}); 

$("recent").click(function(){    
    clearBorders();
    //make borders here (this works)  
}); 

function clearBorders(){
    $('popular').css("border", "solid");
    $('suggestions').css("border", "none");
    $('recent').css("border", "none");
}    
});

我可以很好地创建边框,但由于某种原因,clearborders方法无法正常工作。我知道正在调用该函数,因为如果我在其开头发出警报,它就会显示出来。为什么这个功能不起作用?

2 个答案:

答案 0 :(得分:6)

您的选择器缺少clearBorders()函数中的前导ID(#)或类(。)指示符

答案 1 :(得分:1)

我对此进行了测试,你需要做一个$(“文档”).ready(function(){});包装。我已经调整过使用类,所以你可能会或可能不会使用id。在我处理文档之前,至少下面的测试用例对我不起作用。

    <script type="text/javascript">
$("document").ready(function(){
    $(".popular").click(function(){ 
        clearBorders(); }
    ); 

    $(".suggestions").click(function(){         
        clearBorders();
        // make borders here (this works)   
    });

    $(".recent").click(function(){    
    clearBorders();
    //make borders here (this works)  
    }); }
);
    function clearBorders(){
        $('.popular').css("border", "1px solid red");
        $('.suggestions').css("border", "1px solid red");
        $('.recent').css("border", "1px solid red");
    };   
    </script>