我想检查`id`是否没有内容

时间:2011-10-15 19:25:48

标签: javascript jquery

我希望检查进入var span的ID,如果它之间是空的,则将css输入但不起作用。怎么能解决它?

var span = '#'+$('.valid').closest('.auto_box').find('span').attr('id');
if ($(span+':empty').length != 0) {
    //alert('ok')
    (this).closest('.auto_box').find('input').css('background-color','#000');
}

请在此处查看我的完整代码:http://jsfiddle.net/Pjqv2/2/

2 个答案:

答案 0 :(得分:1)

您正在使用(this)代替$('.valid')或其他任何意思。而且,你这样做是错误的; .find('span')返回为该范围设置的jQuery对象。

您无需获取ID,然后再次检查该ID。 更重要的是,您的代码似乎需要在.auto_box的多个实例上运行。为此,您需要迭代(".valid").closest(".auto_box")找到的集合,您可以使用jQuery .each().each() in jQuery docs)执行此操作:

var autoBoxes = $(".valid").closest(".auto_box");
autoBoxes.each(function(){
    if ($(this).find("span").is(":empty")) {
        $(this).find("input").css("background-color", "#000");
    }
});

您使用此脚本更新了jsfiddle:http://jsfiddle.net/dvir_azulay/Pjqv2/4/

答案 1 :(得分:0)

(this)更改为$(span)I updated your fiddle反映这一变化。