如果li classname存在,请选择它

时间:2013-05-17 07:50:00

标签: javascript jquery

每次点击一个按钮,我都会输入一个功能,检查是否存在具有特定类名的listitem。如果存在,则必须将其删除。

if($("ul#" + this.listClass + " li[class='errorlist']"))
{
    console.log("error");
}

现在,每次点击都会进入该功能,即使它不存在。

提前致谢。

2 个答案:

答案 0 :(得分:1)

如果您想检查现有课程

if($('myElement').hasClass('myClassToCheckFor')){
    //do stuff to my element here
}

如果您想检查现有元素

if($('myElement.withMyClass').length > 0) {
    //do stuff to my element here
}

所以你要做的就是这个(但是它没有针对jquery对象的缓存进行优化,但是它演示了你需要做什么)。

$('button.myButton').click(function(){
    if($('ul li').hasClass('monkey')){
        $('ul li.monkey').remove();
    } else {
        alert("not found!");
    }
});

See this fiddle

答案 1 :(得分:1)

这可能会有所帮助

var test = document.getElementById('test') //returns a HTML DOM Object
var test = $('#test') //returns a jQuery Object
var test = $('#test')[0] //returns a HTML DOM Object

因此,您可以使用if($('#test')[0])来检查DOM中是否存在该元素。

示例还检查元素是否具有类

if($('#test')[0] && $('#test').hasClass("test")) {
    $('#test').removeClass("test");
}