Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.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 更新所有div(如果包含在$.ajax结果中)_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 更新所有div(如果包含在$.ajax结果中)

Javascript 更新所有div(如果包含在$.ajax结果中),javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个ajax函数,它返回一堆html,并带有一些div Internet Explorer喜欢将html注释作为结果[i]循环的一部分返回。它们没有id,因此它抱怨对象不支持此属性或方法 如果我删除这些评论,就可以了。然而,评论是有用的。我不想删除它们 Firefox一直运行良好 有没有更好的方法写这个 $.ajax({ type: "GET", url: ajaxUrl, async: async, success: function(resul

我有一个ajax函数,它返回一堆html,并带有一些div

Internet Explorer喜欢将html注释作为结果[i]循环的一部分返回。它们没有id,因此它抱怨对象不支持此属性或方法

如果我删除这些评论,就可以了。然而,评论是有用的。我不想删除它们

Firefox一直运行良好

有没有更好的方法写这个

  $.ajax({
     type: "GET",
     url: ajaxUrl,
     async: async,
     success: function(result){
        //Cycling through result DOM
        for (i=0;i<$(result).length;i++) {
           $('#'+$(result)[i].id).html($(result)[i].innerHTML);
        }
     }
编辑: 这是从ajax请求返回的一些简化html。我已经关闭了所有数据,以便于调试

<!-- this comment breaks everything -->
<div id="nav">
    <div id="nav_inner">
        <ul>
          <li class="first "><a href="http://localhost/onlinecatalogue/index.php/browse">Browse</a></li>
          <li class="nav_on"><a href="http://localhost/onlinecatalogue/index.php/search">Search</a></li>          
          <li class=""><a href="http://localhost/onlinecatalogue/index.php/contact">Contact</a></li>    


        </ul>

       <div id="simple_search">
          <form name="simpleform" action="search" method="post">
             <fieldset class="simple_search">
               <input class="simple_input grey" type="text" id="search_box" name="search_box" value="kelly"/>
               <input type="submit" class="k_button simple_button" value="Search" />
             </fieldset>
          </form>
       </div>

    </div>
</div>
<div id="ajax"><div id="search_content">
   <div id="search_container">
   </div>
   <div id="results">
   </div>
</div>
</div>

为了快速破解,您可以在执行任何操作之前检查result[i].id是否存在

if(tyepof result[i].id !== 'undefined' && result[i].id !== null)
  $('#'+$(result)[i].id).html($(result)[i].innerHTML);
但是,如果只为这些结果提供一个父元素来锁定,则可以做得更好:

$('#parent').html(result);

你可能不得不进一步思考,但你明白了。ajax调用的原始响应是什么?第一部分似乎不起作用-我将进一步调查。至于第二部分,我已经玩弄了这个想法,但代码将有几个不同的父级要更新-如果我添加另一个,我肯定会忘记在代码中包含它!