我的应用程序中有以下代码。它应该从 JQuery 集合中构建一个逗号分隔的字符串。该集合是从一些 xml 中检索的。我使用 JQuery each() 进行迭代。这是我一直使用的标准代码。我首先声明并定义结果变量(patientConditions)并将其设置为空白。在函数中,我将找到的字符串与逗号一起添加到结果变量中。如果有结果,我不会被尾随的逗号所困扰。问题是我的 each() 中的第二行没有结果正在运行——它们可能都在运行。循环完成后(xml 中没有匹配的元素),结果的值为“,”。它应该是空白的。我认为这与关闭或提升有关,但我无法弄清楚它是如何发生的。
var patientConditions = '';
$xml.find('patient>prescription>conditions').each(function() {
var conditionName = $(this).find('condition>name');
patientConditions += conditionName.text() + ',';
});