Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查第n个子项是否存在,如果不存在,则创建并更新_Javascript_Jquery - Fatal编程技术网

Javascript 检查第n个子项是否存在,如果不存在,则创建并更新

Javascript 检查第n个子项是否存在,如果不存在,则创建并更新,javascript,jquery,Javascript,Jquery,我有一个div结构 <div class="hours_logged"> <div class="time_item"> <div class="record_id"></div> <div class="time_logged">0</div> <div class="desc"></div> </div> </

我有一个div结构

<div class="hours_logged">
     <div class="time_item">
        <div class="record_id"></div> 
        <div class="time_logged">0</div>
        <div class="desc"></div>
     </div>
</div>

0
我正在动态添加新项目。当我添加新时间时,我通过AJAX调用保存它并更新我的DOM。上面是我想要更新的DOM。如果用户添加了2个新时间,我想添加另一个“time_item”DIV并填充其中的值。我已经在使用jquery的每个函数,并且我得到了DIV的正确索引号,但是如何检查索引是否为2呢

if(!$('.hours_logged').eq(index))
{
     $('.hours_logged').append(' <div class="time_item">
        <div class="record_id"></div> 
        <div class="time_logged">0</div>
        <div class="desc"></div>
     </div>');
  }
if(!$('.hours_logged').eq(索引))
{
$('.hours_logged')。追加('
0
');
}
试试这个:

if($('.hours_logged').length < 1)
{
     $('.hours_logged').append(' <div class="time_item"><div class="record_id"></div><div class="time_logged">0</div><div class="desc"></div></div>');
  }
if($('.hours_logged')。长度<1)
{
$('.hours_logged')。追加('0');
}

像这样吗
$('.hours\u logged').eq(index)
始终有效,即使其中没有DOM元素,它仍然是有效的jQuery对象。您需要检查
.length
以查看jQuery对象中有多少DOM元素。嗯,JS中不能有这样的多行字符串,因此您也需要解决这个问题。