将链接传递给Javascript函数

时间:2011-11-24 10:04:53

标签: javascript jquery html

我的代码有效,但我想清理它并可能重复使用它而不是复制它。

我有一个选择框,每个值都选中,根据类标签检查或取消选中一组复选框。

是否可以将类名 .task_mod 传递给以下

的函数
$('.inside_border a.task_mod :checkbox').attr('checked', true);
$('.inside_border a.task_mod').css("background-color","#9dc6f4");
$('.inside_border a.task_mod').css("color","#fff");

可以全部应用吗?这样,我可以将此函数用于所有其他复选框,如此

check_mod( “links_mod。”);

$('[name="workspace_type"]').change(function()
    {
        if($(this).val() == "0")
        {
            $('.inside_border a :checkbox').attr('checked', false);
            $('.inside_border a').css("background-color","#dfdfdf");
            $('.inside_border a').css("color","#6e6d6d");
        }
        else if($(this).val() == "small_biz")
        {
            $('.inside_border a.task_mod :checkbox').attr('checked', true);
            $('.inside_border a.task_mod').css("background-color","#9dc6f4");
            $('.inside_border a.task_mod').css("color","#fff");
        }
    });

选择框

<select name="workspace_type">
                                    <option value="0">select please</option>
                                    <option value="small_biz">Small Business</option>
                                    <option value="freelance">Freelancer</option>
                                    <option value="startup">Startup Company</option>
                                    <option value="small_team">Small Team</option>
                                    <option value="academic">Academic</option>
                                    <option value="media">Media Organization</option>
                                    <option value="personal">Personal</option>
                                </select>

复选框

<div class="inside_border">
<a href="#" class="task_mod"><input type="checkbox" name="add_mod"/>Tasks</a>
<a href="#" class="docs_mod"><input type="checkbox" />Documents</a>
<a href="#" class="discuss_mod"><input type="checkbox" />Discussions</a>
<a href="#" class="links_mod"><input type="checkbox" />Links</a>
<a href="#" class="images_mod"><input type="checkbox" />Images</a>
<a href="#" class="customer_mod"><input type="checkbox" />Customers</a>
<a href="#" class="project_mod"><input type="checkbox" />Projects</a>
<a href="#" class="members_mod"><input type="checkbox" />Members</a>
</div>

如果你不明白,我可以解释一下。 附:我知道我应该使用Id(s)作为复选框,但是......

3 个答案:

答案 0 :(得分:1)

创建此功能:

function check_mod($target){
    $target.css({
        "background-color": "#9dc6f4",
        "color":"#fff"
    })
    .find(":checkbox").attr('checked', true);
}

而不是像这样使用:

check_mod($('.inside_border a.task_mod'));

答案 1 :(得分:0)

不确定

$('.inside_border a.'+class+' :checkbox')

答案 2 :(得分:0)

可以通过$(this).parent()[0].className来完成课程。