jQuery使用动态元素

时间:2014-11-30 21:23:48

标签: javascript jquery html

我在使用jQuery中的动态元素时遇到了很多问题,我只需要问一个问题。首先,我的系统中的一个小例子:

main.js

$(function () {
    renderPlaceList(places);
    setupVoting();
}

这两个函数在单独的文件中,renderPlace.js是一个文件,我在这里创建一个新元素。这些元素具有类.option,然后将它们存储在.places div中。到现在为止还挺好。但后来我想在setupVoting()中使用这些元素:

    $('.participants .option').each(function () {
       ...
    })

但这似乎不起作用。当我在浏览器控制台中调用代码时,它运行得很好。但是如果它在网站加载时运行,则jQ选择器将找不到元素。渔获物在哪里?

感谢您的时间和答案:)

修改

renderPlaces函数

function renderPlaceList(places) {
    var htmlMeetingPlace = "";
    into = $(".places");
    $(places).each(function(_, d){
        htmlMeetingPlace +=
            "<div class='option' data-meeting_place_id='" + d.id + "'>" +
            "</div>";
    });
    into.fadeOut('slow',function(){
        into.html("");
        into.append(htmlMeetingPlace);
        into.fadeIn('slow');
    });
}

1 个答案:

答案 0 :(得分:0)

问题是当renderPlaceList返回时.. $(&#34; .places&#34;)没有形成...因为仍然是淡出...

你可以尝试

function renderPlaceList(places) {
var htmlMeetingPlace = "";
into = $(".places");
$(places).each(function(_, d){
    htmlMeetingPlace +=
        "<div class='option' data-meeting_place_id='" + d.id + "'>" +
        "</div>";
  });
  into.fadeOut('slow',function(){
    into.html("");
    into.append(htmlMeetingPlace);
    into.fadeIn('slow');
    setupVoting(); //here!
  });
}