Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery属性选择器转换为字符串,存储为变量,然后传递到另一个JQuery选择器_Javascript_Jquery - Fatal编程技术网

Javascript JQuery属性选择器转换为字符串,存储为变量,然后传递到另一个JQuery选择器

Javascript JQuery属性选择器转换为字符串,存储为变量,然后传递到另一个JQuery选择器,javascript,jquery,Javascript,Jquery,我想使用JQuery选择器来抓取一个元素,如果单击了它,请检查它是否有适当的类名(在本例中为jobtype),如果有,请使用它的name属性值作为选择器,隐藏()类,这些类的值与第一个选择器的name属性值相同 以下是我目前掌握的代码: $('fieldset.workexperience input').on('change', function() { // var jtaa = {"bit" : "Business Information Technology",

我想使用JQuery选择器来抓取一个元素,如果单击了它,请检查它是否有适当的类名(在本例中为jobtype),如果有,请使用它的name属性值作为选择器,隐藏()类,这些类的值与第一个选择器的name属性值相同

以下是我目前掌握的代码:

    $('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具有键和值。这些键表示不同的可能“名称”属性。我想在单击一个时,如果它的名称是eng,那么JQuery选择器应该是
$(.eng).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" };
        var obj=$(this);
        if (obj.hasClass('jobtype')) {
            $('.'+obj.attr("name")).hide();
        } else {

        }
    });
请注意与选择器连接的句点

此外,您可能需要考虑添加非空校验以使代码健壮。 尝试以下操作:
$('.+$(this.attr(“name”)).hide()。实际名称值的语法是什么?我尝试在插入之前创建一个临时变量并将其连接起来,但失败了,一定是出了问题,谢谢。检查它是否为null的目的是什么?如果您有一个类为jobtype的控件,但它没有name属性,那么您将运行一个类似$('.')的选择器,这是不正确的