代码之家  ›  专栏  ›  技术社区  ›  Raj

jQuery附加DOM

  •  9
  • Raj  · 技术社区  · 14 年前

    所有的例子jQuery.append文件()似乎获取html字符串并将其附加到容器中。我有一个稍微不同的用例。我的服务器返回一个包含要显示的HTML文本的XML,类似于:

    <event source="foo">
        <contents>
            <h1>This is an event</h1>
            This is the body of the event
        </contents>
    </event>
    

    我的JS目前执行以下操作:

    1. 将XML数据加载到$.ajax()成功处理程序中的jQuery中:

      var jData=$(数据);

    2. 找到contents标记并尝试将其子项添加到应该显示事件的div:

      var contents = jData.find( "contents" );
      if( contents != null )
      {
          $( contents ).children().each( function( index, value ) 
          {
           $( "#eventDiv" ).append( $( value ) );
          });
      }
      

    append()调用失败,原因是 在铬上。调试器将值显示为DOM 元素 对象和 $(价值) 包含 元素

    任何帮助都将不胜感激。

    -拉吉

    1 回复  |  直到 14 年前
        1
  •  8
  •   Tomalak    14 年前

    不能将属于一个DOM树的节点附加到另一个文档。

    clone

    $("#eventDiv").append( jData.find("contents").children().clone() );
    

    $("#eventDiv").append( jData.find("contents").html() );