Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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
Jquery 从for循环创建XML_Jquery_For Loop - Fatal编程技术网

Jquery 从for循环创建XML

Jquery 从for循环创建XML,jquery,for-loop,Jquery,For Loop,嗨,我正在尝试从for循环创建一个XML。但是使用下面的代码,我只得到页面上找到的最后一个元素。并不是所有的都像我预料的那样 考虑到页面上有许多id为“textHolder1、textHolder2”的元素,它们的内容都不同 Jquery: var text = "<?xml version=\"1.0\" encoding=\"utf-8\" ?><canvas>"; text += "<elements>"; text_length = $('[

嗨,我正在尝试从for循环创建一个XML。但是使用下面的代码,我只得到页面上找到的最后一个元素。并不是所有的都像我预料的那样

考虑到页面上有许多id为“textHolder1、textHolder2”的元素,它们的内容都不同

Jquery:

var text = "<?xml version=\"1.0\" encoding=\"utf-8\" ?><canvas>";

text += "<elements>";   
text_length =  $('[id^="textHolder"]').length;  
for(var n = 0; n < text_length; n++){
TextElementID = $('[id^="textHolder"]').attr('id');
TextElementContent = $('[id^="textHolder"]').text();  
text += "<element id='"+TextElementID+"'>";  
text += "<content>"+TextElementContent;  
text += "</content>";  
text += "</element>";  
}
text += "</elements>";         
text +="</canvas>";

alert(text)    
var text=”“;
文本+=”;
文本长度=$('[id^=“textHolder”]')。长度;
对于(变量n=0;n

我做错了什么?

试试这个,使用每个循环:

var text = "<?xml version=\"1.0\" encoding=\"utf-8\" ?><canvas>";

text += "<elements>";
$('[id^="textHolder"]').each(function(){
    var TextElementID = this.id,
        TextElementContent = $(this).text();
    text += "<element id='" + TextElementID + "'>";
    text += "<content>" + TextElementContent;
    text += "</content>";
    text += "</element>";
});
text += "</elements>";
text += "</canvas>";

alert(text)
var text=”“;
文本+=”;
$('[id^=“textHolder”]')。每个(函数(){
var TextElementID=this.id,
TextElementContent=$(this.text();
文本+=”;
text+=“”+TextElementContent;
文本+=”;
文本+=”;
});
文本+=”;
文本+=”;
警报(文本)

我看到了一些问题。我看不出您在哪里声明一些变量,而且,您正在选择一组元素并试图获取一个ID。我相信这段代码会清除它(未经测试)

var text=”“;
文本+=”;
var text_length=$('[id^=“textHolder”]')。长度;
对于(变量n=0;n
在您正在执行的for循环中(“[id^=“textHolder”]”)在每次迭代中,它选择与选择器匹配的所有元素。然后获得第一匹配元素的ID和第一匹配元素的内容。显然这不是你想要的。考虑使用。嗯,这就是我所说的完美答案!谢谢!工作就像一个魅力!
var text = "<?xml version=\"1.0\" encoding=\"utf-8\" ?><canvas>";

text += "<elements>";   
var text_length =  $('[id^="textHolder"]').length;  

for(var n = 0; n < text_length; n++){
    var TextElementID = $('[id="textHolder' + i + '"]').attr('id');
    var TextElementContent = $('[id="textHolder' + i + '"]').text();  
    text += "<element id='"+TextElementID+"'>";  
    text += "<content>"+TextElementContent;  
    text += "</content>";  
    text += "</element>";  
}
text += "</elements>";         
text +="</canvas>";

alert(text)