Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.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 附加a<;部门>;在jQuery中_Javascript_Jquery - Fatal编程技术网

Javascript 附加a<;部门>;在jQuery中

Javascript 附加a<;部门>;在jQuery中,javascript,jquery,Javascript,Jquery,当我使用此代码时: <script type="text/javascript"> $(document).ready(function() { $.ajax({ type: "GET", url: "nyhederlang.xml", dataType: "xml", success: parseXml, error: function(){alert("Error: Something went wrong");} }); }); function parseXml(x

当我使用此代码时:

<script type="text/javascript">
$(document).ready(function() {

$.ajax({
type: "GET",
url: "nyhederlang.xml",
dataType: "xml",
success: parseXml,
error: function(){alert("Error: Something went wrong");}
 });
 });

 function parseXml(xml)
 {
 //print the title and the description
 $(xml).find("article").each(function()
 {
 $("#output").append("<div>");
  $("#output").append("<b>" + $(this).find("title").text() + ":</b> <br />");
  $("#output").append($(this).find("paragraphs").text());
   $("#output").append("</div>");
  });
  }
  </script>

$(文档).ready(函数(){
$.ajax({
键入:“获取”,
url:“nyhederlang.xml”,
数据类型:“xml”,
成功:解析XML,
错误:函数()
});
});
函数解析xml(xml)
{
//打印标题和说明
$(xml).find(“article”).each(function()
{
$(“#输出”)。追加(“”);
$(“#输出”).append(“+$(this).find(“title”).text()+”:
); $(“#输出”).append($(this.find(“段落”).text()); $(“#输出”)。追加(“”); }); }
我在#输出的开头同时得到div和/div

为什么不将/div放在输出的末尾

这就是它看起来的样子:

<div id="output">
<div></div>
<b>Some title text</b>
.
.
.
.
.

一些标题文本
.
.
.
.
.
$(“#输出”)。追加(“”);
不只是附加
,而是一个格式良好的(封闭的)html元素。那是一个完整的div

解决方案是构建完整的HTML,然后附加它:

var html = "<div>";
html += "<b>" + $(this).find("title").text() + ":</b> <br />";
html += $(this).find("paragraphs").text();
html += "</div>";
$("#output").append(html);
var html=”“;
html++=“”++$(this.find(“title”).text()+“:
”; html+=$(this.find(“段落”).text(); html+=“”; $(“#输出”).append(html);
您也可以将其内容附加到第一个附加的div中,但正如Ian所指出的,将附加的数量减到最少总是更有效的; 不只是附加
,而是一个格式良好的(封闭的)html元素。那是一个完整的div

解决方案是构建完整的HTML,然后附加它:

var html = "<div>";
html += "<b>" + $(this).find("title").text() + ":</b> <br />";
html += $(this).find("paragraphs").text();
html += "</div>";
$("#output").append(html);
var html=”“;
html++=“”++$(this.find(“title”).text()+“:
”; html+=$(this.find(“段落”).text(); html+=“”; $(“#输出”).append(html);

您也可以将其内容附加到第一个附加的div中,但正如Ian所指出的,将附加的数量减到最少总是更有效。

您不能附加部分
标记

jQuery将在附加标签时自动关闭标签,因此以下附加将放在初始的
之后。您附加的最后一个
将是它后面的另一个空div

您应该做的是构建整个字符串,并将其附加到一个
.append()
调用中

$("#output").append("<div>
                   +"<b>" + $(this).find("title").text() + ":</b> <br />"
                   +$(this).find("paragraphs").text()
                   +"</div>");
$(“#输出”).append(“
+“+$(this).find(“title”).text()+”:
+$(this.find(“段落”).text() +"");
您不能附加部分
标记

当您附加标签时,jQuery将自动关闭标签,因此以下附加将放在初始的
之后。您附加的最后一个
将是它后面的另一个空div

您应该做的是构建整个字符串,并将其附加到一个
.append()
调用中

$("#output").append("<div>
                   +"<b>" + $(this).find("title").text() + ":</b> <br />"
                   +$(this).find("paragraphs").text()
                   +"</div>");
$(“#输出”).append(“
+“+$(this).find(“title”).text()+”:
+$(this.find(“段落”).text() +"");
而不是附加每个元素;将其添加到字符串,然后追加该字符串。例:

var html = "";
html += "<div>"
html += "<b>" + $(this).find("title").text() + ":</b> <br />";
html += $(this).find("paragraphs").text();
html += "</div>";

$("#output").append(html);
var html=”“;
html+=“”
html++=“”++$(this.find(“title”).text()+“:
”; html+=$(this.find(“段落”).text(); html+=“”; $(“#输出”).append(html);
而不是附加每个元素;将其添加到字符串,然后追加该字符串。例:

var html = "";
html += "<div>"
html += "<b>" + $(this).find("title").text() + ":</b> <br />";
html += $(this).find("paragraphs").text();
html += "</div>";

$("#output").append(html);
var html=”“;
html+=“”
html++=“”++$(this.find(“title”).text()+“:
”; html+=$(this.find(“段落”).text(); html+=“”; $(“#输出”).append(html);
附加到DOM也很耗时,因此这样做效率更高。对不起。我不明白你在告诉我什么:“构建完整的HTML”他指的正是他发布的示例,你构建一个字符串中的HTML,然后只在末尾追加一次,因为你不能追加类似“”的内容,因为你添加的任何内容都被解释为,您必须按照我的回答构建完整的HTML,并一次性将其追加。追加到DOM也很耗时,因此这样做更有效。对不起。我不明白你在告诉我什么:“构建完整的HTML”他指的正是他发布的示例,你构建一个字符串中的HTML,然后只在末尾追加一次,因为你不能追加类似“”的内容,因为你添加的任何内容都被解释为,你必须按照我的回答构建完整的HTML,然后一次性追加。