Javascript 选择子元素的问题

Javascript 选择子元素的问题,javascript,jquery,Javascript,Jquery,我有这个html <div class="sez-form"> <table><input></table> </div> 这可能成为 <div class="sez-form"> <table><input></table> <div class="previsione"></div> </div> 我正在检查pre

我有这个html

<div class="sez-form">
    <table><input></table>
</div>

这可能成为

<div class="sez-form">
    <table><input></table>
    <div class="previsione"></div>
</div>

我正在检查previsione是否存在,但此代码:

$(document).on('blur','.importo',function(){
    var input_value = $(this).val();
    if ($(this).closest('.sez-form').next('.previsioni').length != null) {
        $('.previsioni').html('Qui le singole previsioni '+input_value);
        console.log('exists');
    }else{
        $(this).closest('.sez-form').append('<div class="previsioni">Qui le singole previsioni '+input_value+'</div>');         
    }
});
$(document).on('blur','importo',function(){
var input_value=$(this.val();
if($(this).closest('.sez form').next('.previsioni').length!=null){
$('.previsioni').html('Qui-le-singole-previsioni'+输入值);
log('exists');
}否则{
$(this).closest('.sez form').append('Qui le singole previsioni'+输入值+'');
}
});
始终在控制台中返回“exists”

我做错了什么?我已经尝试了尽可能多的选项来识别子previsioni div,但是没有运气

您需要使用,或者因为
previsioni
sez表单
元素的子元素。另外,由于
.length
返回数字,因此它永远不会为
null
,请直接使用该属性

if ($(this).closest('.sez-form').find('.previsioni').length) {
   console.log('exists');
}
用这个比较

if ($(this).closest('.sez-form').find('.previsioni').length != 0)

首先,这是一个错误的布局,浏览器会尝试为您填写
。最好使用正确的方法:

<div class="sez-form">
    <table>
        <tr>
            <td><input /></td>
        </tr>
    </table>
</div>
或者,您可以使用:

$("input").closest(".sez-form").find(".previsione");

仅供参考,
length
属性永远不会为
null
-它是一个整数值。
这是无效的HTML标记。…。@A.Wolff yes。这只是为了显示DOM结构是什么is@LelioFaieta对不起,我现在明白你的意思了。但是什么是
.importo
??你是对的。我尝试了你的代码,但长度有限!=这就是问题所在
<div class="sez-form">
    <table>
        <tr>
            <td><input /></td>
        </tr>
    </table>
    <div class="previsione"></div>
</div>
$(".previsione").html();
$("input").closest(".sez-form").find(".previsione");