将jQuery attr选择器转换为字符串,存储为变量,然后传递给另一个JQuery选择器

时间:2012-06-21 06:33:01

标签: javascript jquery

如果单击它,我想使用JQuery选择器来获取元素,检查以确保它具有适当的类名(在本例中为jobtype),如果是,则使用其name属性值作为选择器, hide()类,其值与第一个选择器名称属性值相同。

这是我到目前为止的代码:

    $('fieldset.workexperience input').on('change', function() {
        // var jtaa = {"bit" : "Business Information Technology",
        //          "cs" : "Customer Service",
        //          "dev" : "Developer",
        //          "eng" : "Engineer",
        //          "mgr" : "Manager",
        //          "ocm" : "Organizational Change Management" };
        if ($(this).hasClass('jobtype')) {
            $($(this).attr("name")).hide();
        } else {

        }
    });

var jtaa有键和值。键代表不同的可能“名称”attrs。我想点击一个,如果它的名字是eng,那么JQuery选择器应该是$(.eng).hide()。当我直接在控制台中输入时,它可以直接从这里工作,但它会出错。

1 个答案:

答案 0 :(得分:2)

$('fieldset.workexperience input').on('change', function() {
        // var jtaa = {"bit" : "Business Information Technology",
        //          "cs" : "Customer Service",
        //          "dev" : "Developer",
        //          "eng" : "Engineer",
        //          "mgr" : "Manager",
        //          "ocm" : "Organizational Change Management" };
        var obj=$(this);
        if (obj.hasClass('jobtype')) {
            $('.'+obj.attr("name")).hide();
        } else {

        }
    });

请注意选择器的句点. 另外,您可能需要考虑添加非空检查以使代码健壮..