Estoy construyendo un complemento jQuery y estoy usando una variable que puede ser una clase o id. No quiero usar el. o # en la variable, entonces hay una manera de verificar si una variable es una clase o id.

No podría encontrar nada en la web sobre esto.

Parte del código

var defaults = {
    trigger: ''         
};

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

jQuery(opt.trigger).click(function(){
//run code
});
1
user759235 12 jul. 2011 a las 23:08

3 respuestas

La mejor respuesta

Comprobar

if($("#"+variable).length){
   //It is an id.
}
2
ShankarSangoli 12 jul. 2011 a las 19:10

No, a menos que recorra el CSS en la página y lo combine con una clase, pero ¿quién puede decir que no puede identificar algo igual al nombre de una clase?

Haría algo como (esta es una función pero puedes aplicarla a un complemento):

function passIdentifier(id, isClass)
{
    var selector;
    if (isClass)
    {
        selector = '.' + id;
    }
    else
    {
        selector = '#' + id;
    }
}
0
slandau 12 jul. 2011 a las 19:10

¿Algo como esto?

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
}
3
Akinos 12 jul. 2011 a las 19:16