jquery嵌套了每个问题
请参见下面的编辑。 我正在尝试让一些jquery在我正在构建的wordpress插件中工作。在wordpress中使用jQuery时,使用字符串“jQuery”代替“$”习惯用法,仅供参考 示例xml: <person> <Name>Some Name</Name> <location> <locationName>One Address</locationName> </location> <date> <startDate>01-01-09</startDate> </date> </person> jquery示例:jquery嵌套了每个问题,jquery,xml,Jquery,Xml,请参见下面的编辑。 我正在尝试让一些jquery在我正在构建的wordpress插件中工作。在wordpress中使用jQuery时,使用字符串“jQuery”代替“$”习惯用法,仅供参考 示例xml: <person> <Name>Some Name</Name> <location> <locationName>One Address</locationName>
jQuery(text).find("person").each(function(){
jQuery("#active_list")
.append(
"<div id=\'Entry\'>"
+ jQuery(this).find("Name").text()
+ "<b> at </b>"
;
jQuery(this)
.find("location")
.each(function(){
jQuery("#active_list")
.append(
jQuery(this).find("locationName").text()
+ " <b> on </b>"
)
;
})
;
jQuery("#active_list")
.append(
jQuery(this).find("date").find("startDate").text()
+ "</div>"
)
;
});
然后坏的加价产生了:
<div id="Entry"> Some Name<b> at </b></div>One Address <b> on </b>01-01-09
正如您所看到的,它在退出第二个嵌套循环之后插入/divs。我显然做错了什么,但我不知道是什么。有什么想法吗
编辑:如果放置
jQuery("#active_list").append("<div id=\'ActivityEntry\'>");
在它自己的线路上,它随后立即关闭div。所以我猜我需要用jquery构建一个div元素,然后打包,然后附加我的div元素。我对您的问题的建议
jQuery(text).find("person").each(function(){
var html;
html = jQuery(this).find("Name").text() + "<b> at </b>";
jQuery(this).find("location").each(function(){
html += jQuery(this).find("locationName").text() + " <b> on </b>";
});
html += jQuery(this).find("date").find("startDate").text();
jQuery("#active_list").append("<div id=\'Entry\'>" + html + "</div>");
});
这应该行得通。你试着对它进行微调。脚本无法工作的原因是jquery将每个字符串转换为一个对象。我对您的问题的建议
jQuery(text).find("person").each(function(){
var html;
html = jQuery(this).find("Name").text() + "<b> at </b>";
jQuery(this).find("location").each(function(){
html += jQuery(this).find("locationName").text() + " <b> on </b>";
});
html += jQuery(this).find("date").find("startDate").text();
jQuery("#active_list").append("<div id=\'Entry\'>" + html + "</div>");
});
这应该行得通。你试着对它进行微调。脚本无法工作的原因是jquery将每个字符串转换为一个对象。将jquery与Wordpress结合使用的小技巧:将其包含在函数中。它将允许您使用熟悉的$函数,并防止您用变量污染全局名称空间 例如,您的代码可以重写为:
(function($) {
... (code with $) ...
})(jQuery);
至于您的问题的答案,如果您使用this变量,嵌套eaches在jQuery中不起作用。若要解决您的问题,请尝试使用以下各项的完整样式:
使用val1和val2来代替它。将jQuery与Wordpress结合使用的小技巧:将其包含在函数中。它将允许您使用熟悉的$函数,并防止您用变量污染全局名称空间 例如,您的代码可以重写为:
(function($) {
... (code with $) ...
})(jQuery);
至于您的问题的答案,如果您使用this变量,嵌套eaches在jQuery中不起作用。若要解决您的问题,请尝试使用以下各项的完整样式:
用val1和val2代替这个。我知道我会把事情搞砸的,那只是一个疏忽。输入xml格式良好。是的,您可以使用jQuery以以下方式创建元素:$。您还可以立即修改它们,如:$.attrid,Entry.htmlhtml;我知道我会把事情搞砸的,那只是个疏忽。输入xml格式良好。是的,您可以使用jQuery以以下方式创建元素:$。您还可以立即修改它们,如:$.attrid,Entry.htmlhtml;我按照您的建议修改了代码,行为与您相同。我认为poh所说的jquery将所有内容都转换为对象是准确的,所以它找到了一个未关闭的div对象并为我关闭了它。是的,我的错,我没有仔细阅读这个问题。不过,第一条建议仍然适用:我按照您的建议修改了代码,使用了相同的行为。我认为poh所说的jquery将所有内容都转换为对象是准确的,所以它找到了一个未关闭的div对象并为我关闭了它。是的,我的错,我没有仔细阅读这个问题。尽管如此,第一条建议仍然适用: