0

在下面的代码中,“map”和“for”如何正确完成?首先它获取所有唯一的 id,然后我尝试将变量从几个“每个”组合起来,然后在 ajax 中使用它。

查询:

$(document).ready(function() {
    $('a#export').on('click',function(){
        var contentMap = {};
        $('[id^="textHolder"],[id^="imgHolder"]').each(function(){
            contentMap[this.id] = $(this).html();
        });
        $('[id^="youtubeHolder"]').each(function(){
            var YoutubeSrc = $('iframe',this).attr('src');
            var YoutubeHolderID = $(this).attr('id');
        });
        for(id in contentMap) {

            $.ajax({
                url: "post.php",
                type: "post",
                data: { 
                    ExportDivID: id,
                    ExportDivContent: contentMap[id],
                    ExportYoutubeSrc: YoutubeSrc,
                    ExportYoutubeHolderID: YoutubeHolderID
                },
                success: function(){
                   alert("success");
                },
                error: function(){
                    alert("failure");
                }   
          }); 
      }

    });
});

感谢您的帮助!

4

1 回答 1

0

for 循环解释:
在 JavaScript 中循环遍历数组

地图解释:
如何在 JavaScript 中创建哈希或字典对象

改变

for(id in contentMap) { .... }

for (var i=0; i<contentMap.length; i++){

    if (contentMap[i] == this.id){

            $.ajax({
                url: "post.php",
                type: "post",
                data: { 
                    ExportDivID: this.id,
                    ExportDivContent: contentMap[this.id],
                    ExportYoutubeSrc: YoutubeSrc,
                    ExportYoutubeHolderID: YoutubeHolderID
                },
                success: function(){
                   alert("success");
                },
                error: function(){
                    alert("failure");
                }   
          }); 
    }
}
于 2013-05-12T04:02:45.267 回答