Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.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/86.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 如何检查变量是类还是id(jQuery)_Javascript_Jquery - Fatal编程技术网

Javascript 如何检查变量是类还是id(jQuery)

Javascript 如何检查变量是类还是id(jQuery),javascript,jquery,Javascript,Jquery,我正在构建一个jQuery插件,并且在其中使用了一个变量,可以是类或id。我不想使用。或者在变量中,那么是否有方法检查变量是类还是id 在网上找不到关于这个的任何信息 一些代码 var defaults = { trigger: '' }; var opt = jQuery.extend(defaults, opt); jQuery(opt.trigger).click(function(){ //run code }); 不,除非你在页面上搜索CSS并将其与类匹

我正在构建一个jQuery插件,并且在其中使用了一个变量,可以是类或id。我不想使用。或者在变量中,那么是否有方法检查变量是类还是id

在网上找不到关于这个的任何信息

一些代码

var defaults = {
    trigger: ''         
};

var opt = jQuery.extend(defaults, opt);

jQuery(opt.trigger).click(function(){
//run code
});

不,除非你在页面上搜索CSS并将其与类匹配,但是谁能说你不能识别与类名相同的东西呢

我会这样做,这是一个函数,但您可以应用于插件:

function passIdentifier(id, isClass)
{
    var selector;
    if (isClass)
    {
        selector = '.' + id;
    }
    else
    {
        selector = '#' + id;
    }
}

不,除非你在页面上搜索CSS并将其与类匹配,但是谁能说你不能识别与类名相同的东西呢

我会这样做,这是一个函数,但您可以应用于插件:

function passIdentifier(id, isClass)
{
    var selector;
    if (isClass)
    {
        selector = '.' + id;
    }
    else
    {
        selector = '#' + id;
    }
}
查证

if($("#"+variable).length){
   //It is an id.
}
查证

if($("#"+variable).length){
   //It is an id.
}
像这样的

if(document.getElementsByClassName(your_vairable).length != 0){
    // It's a class
}
else if (document.getElementById(your_variable) != null){
    // It's an id
}
else{
   // Oh god what have you done
}
像这样的

if(document.getElementsByClassName(your_vairable).length != 0){
    // It's a class
}
else if (document.getElementById(your_variable) != null){
    // It's an id
}
else{
   // Oh god what have you done
}


一个没有变量的变量。或者,不容易区分。告诉我们更多关于你的情况。你是如何给变量赋值的,它包含什么,它在DOM上引用什么,给我们一些代码,而不是一个理论故事;在这种情况下,var被用作设置eventclick的触发器。我不是要求提供完整的代码,而是要求提供一个精简的案例,让我们了解您想要实现的目标。然后你就可以得到我们的免费支持,想赚多少就赚多少;更新:对于您的代码,无法100%地判断它是一个还是另一个。你肯定会失败。下面是一个简单但有效的解决方案:当然,当你的用户开始为他们的元素使用相同的id和类时,你一定会失败,比如左边是100px,而他们真正想要修改的是右边的100px。一个没有。或者,不容易区分。告诉我们更多关于你的情况。你是如何给变量赋值的,它包含什么,它在DOM上引用什么,给我们一些代码,而不是一个理论故事;在这种情况下,var被用作设置eventclick的触发器。我不是要求提供完整的代码,而是要求提供一个精简的案例,让我们了解您想要实现的目标。然后你就可以得到我们的免费支持,想赚多少就赚多少;更新:对于您的代码,无法100%地判断它是一个还是另一个。你肯定会失败。下面是一个简单但有效的解决方案:当然,当你的用户开始为他们的元素使用相同的id和类时,你会明白我的意思,比如左边的100px,他们真正想修改的是右边的100px。可能有两个元素具有相同的类名和id。例如和。if$+variable.length将只检查id而不检查类。ID在页面上应始终是唯一的。如果有两个元素具有相同的id,那么应该首先清理它们,这与id的唯一性无关。这与id和类是相同的有关,这在标准上是完美的。简单但聪明,简单检查id是否兴奋…为什么我没有想到这一点。谢谢是的,您是对的,但是如果$+variable.length将只查找id,如果$.+variable.length将只查找具有该类名的元素。可能有两个元素具有相同的类名和id。例如,$+variable.length将只检查id而不检查类。ID在页面上应始终是唯一的。如果有两个元素具有相同的id,那么应该首先清理它们,这与id的唯一性无关。这与id和类是相同的有关,这在标准上是完美的。简单但聪明,简单检查id是否兴奋…为什么我没有想到这一点。谢谢是的,您是对的,但是如果$+variable.length将只查找id,如果$.+variable.length将只查找具有该类名的元素。