【发布时间】:2012-05-02 03:37:29
【问题描述】:
过去几个小时我一直在尝试解决这个问题,但我无法理解它,所以我有以下功能:
$("SPEECH",currentContext).each(function(){
var speaker = $("#selectSpeaker").val();
if($(this).find("SPEAKER").text()===speaker){
var line = $(this).find("LINE").text();
$("#speakers").append("<p class='speech'>" + speaker + "</p>" + "<p>" + line + "</p>");
}
});
XML 标记如下:http://pastebin.com/GhesMcay
我正在做的是通过 XML 提取诸如 LINE 和 SPEECH 之类的信息,并且它工作得几乎完美,它找到了选定的 SPEAKER,找到了与扬声器关联的 LINE 和输出它们。但是,我发现 XML 中连续的任何 LINE 都被放入 1 个长段落中,而不是每个段落的新段落中(就像我想要的那样)。通过这样做,对于连续的行,在一行的结尾和下一行的开头之间没有空格,因此行的开头和结尾字被连接在一起。
据我所知,我可以说这归结为不寻找每一行,所以我的想法是在变量中使用 .each() 可以解决这个问题,但是我似乎无法让它工作。
任何帮助将不胜感激!
提前致谢。
【问题讨论】:
标签: javascript jquery xml find each