0

这是我的代码:

<script type='text/javascript'>
    $(document).ready(function() {
        $('#test').load('http://foobar.com/view.php?id=1186', function() {        
            console.log($('.weekdates'));

            var weeks = $('.weekdates');
            weeks.each(function(i, val) {
                alert($(this).text());                        
            });                              
        });                
    });
</script>

调用的结果console.log是:

[prevObject: b.fn.b.init[1], context: document, selector: ".weekdates", jquery: "1.9.1", constructor: function…]
context: document
length: 0
prevObject: b.fn.b.init[1]
selector: ".weekdates"
__proto__: Object[0]

任何想法为什么在结果集中找不到元素?它与动态加载 HTML 有关吗?

这是添加的 HTML:

<h3 class="weekdates"> 23 de enero -  29 de enero</h3>
4

1 回答 1

1

要直接回答您的问题,您可以在从 ajax 调用返回的 HTML 上使用 jquery 选择器,一旦您将其加载到 jQuery 对象变量中......

<script type='text/javascript'>
    $(document).ready(function() {
        $('#test').load('http://foobar.com/view.php?id=1186', function(html) {        
            var $html = $(html);                            
        });                
    });
</script>

但老实说,您似乎正在尝试遍历结果。如果这是您从服务器返回的 JSON,则需要 $.getJSON()

$.getJSON('http://foobar.com/view.php?id=1186', function(data) {
  $.each(data, function(key, val) {
    // deal with item
  });
});
于 2013-04-03T22:53:24.307 回答