从多个唯一ID获取属性

时间:2013-05-12 02:41:15

标签: jquery for-loop each

我真的需要一些帮助!我想要做的是找到所有以id开头的元素(即youtubeHolder)。我需要为每个属性获取属性并为每个属性定义一个变量,以便稍后使用它们。

这是如何实际完成的?

Jquery:

$(document).ready(function () {
    $('a#export').on('click', function () {
        var contentMap = {};
        $('[id^="appendText"],[id^="youtubeHolder"]').each(function () {
            contentMap[this.id] = $(this).html();
            var YouTubeSrc = $('iframe', this, '[id^="youtubeHolder"]').attr('src');
            var YouTubeClass = $(this, '[id^="youtubeHolder"]').attr('class');
            var YouTubeID = $(this, '[id^="youtubeHolder"]').attr('id');
            var textElement = $('iframe', this, '[id^="appendText"]').attr('src');
            var textContent = $(this, '[id^="appendText"]').attr('class');

        });
        for (id in contentMap) {

            $.ajax({
                url: "post.php",
                type: "post",
                data: {
                    ExportYouTubeClass: YouTubeClass,
                    ExportYouTubeID: YouTubeID,
                    ExportYouTubeSrc: YouTubeSrc,    
                    ExportTextElement: textElement,
                    ExportTextContent: textContent
                },
                success: function () {
                    alert("success");
                },
                error: function () {
                    alert("failure");
                }
            });
        }

    });
});

1 个答案:

答案 0 :(得分:0)

我知道这不是回答您的问题,但我建议您将代码更改为类似的内容。

  1. class="youtubeHolder"的所有元素添加一个类(例如id="youtubeHolder_somethingsomething"

  2. 使用类似$('[id^="appendText"],[id^="youtubeHolder"]').each(function(){

  3. 的内容而不是$('.youtubeHolder').each(function(){