Javascript 我想检查'id'是否没有内容
我想检查进入Javascript 我想检查'id'是否没有内容,javascript,jquery,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',
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');
}
请参见我的完整代码:将(此)
更改为$(span)
。以反映此更改。将(此)
更改为$(span)
。以反映此更改。您使用的是(this)
,而不是$('.valid')
或您对其所指的任何内容。而且,你这样做是错误的.find('span')
返回为该span设置的jQuery对象
你不需要得到它的ID,然后再次检查该ID更重要的是,您的代码似乎需要在.auto\u box
的多个实例上运行。为此,您需要在(.valid”).closest(.auto_-box”)
找到的集合上进行迭代,您可以使用jQuery.each()
()这样做:
var autoBoxes = $(".valid").closest(".auto_box");
autoBoxes.each(function(){
if ($(this).find("span").is(":empty")) {
$(this).find("input").css("background-color", "#000");
}
});
您使用此脚本更新的JSFIDLE:您使用的是(this)
,而不是$('.valid')
或任何您想要的内容。而且,你这样做是错误的.find('span')
返回为该span设置的jQuery对象
你不需要得到它的ID,然后再次检查该ID更重要的是,您的代码似乎需要在.auto\u box
的多个实例上运行。为此,您需要在(.valid”).closest(.auto_-box”)
找到的集合上进行迭代,您可以使用jQuery.each()
()这样做:
var autoBoxes = $(".valid").closest(".auto_box");
autoBoxes.each(function(){
if ($(this).find("span").is(":empty")) {
$(this).find("input").css("background-color", "#000");
}
});
使用此脚本更新JSFIDLE:而不是执行所有这些字符串连接,您只需执行:
var span=$('.valid').closest('.auto_-box').find('span');如果(span.is(':empty'){…}
,而不是执行所有这些字符串连接,您可以只执行:var span=$('.valid')。最近('.auto_-box')。查找('span');如果(span.is(':empty'){…}
。