Jquery循环遍历多个类的表

时间:2014-05-06 09:11:53

标签: javascript jquery html ajax

在使用Jquery完成AJAX调用后,我试图遍历表。但我无法循环。 我的HTML看起来像这样:

    <table id="planyourwork" class="data-view plan-internal displayTable">
     <thead>All Headers</thead>
     <tbody>
          <tr class="odd">
                 <td class="invisible"></td>
                 ....
                 ....
                 <td class="cell-status"></td>
          </tr>
          <tr class="odd">
                 <td class="invisible"></td>
                 ....
                 ....
                 <td class="cell-status"></td>
          </tr>


          <tr class="odd">
                 <td class="invisible"></td>
                 ....
                 ....
                 <td class="cell-status"></td>
          </tr>

     <tbody>

在调用AJAX后的JS文件中

$('.data-view > tbody > tr > td.cell-status').each(function() {
   trying to add tool tip
}

当我调试时,我看到Loop没有通过。调试器在数据视图停止,但不循环。

请帮我解决这个问题

以下是整个On Click事件

filterBtn.click(function() {
            loadData();
            $('#planyourworktd.cell-status').each(function() {
                var typeCell = $(this);
                var tooltip = typeCell.parent().find('td.fullNotes').html();
                alert("tooltip");
                typeCell.attr('title', tooltip);
                typeCell.tooltip({track: true,show: 100});
            });
            return false;
        });

// Load the request and planner data
        function loadData() {
         $.ajax({
                type: 'post',
                url: url,
                data: data,
                cache: false,
                success: function(html) {
                    initResults();
                         enableButtons();
                },
                error: function(jqXHR, textStatus, errorThrown) {
                    filterBtn.removeClass('invisible');
                },
                async: true
             });
        }

并且DOM结构非常复杂,当我在Fiddle中运行它时它可以工作但不在页面上。我不知道为什么?谢谢大家帮我解决这个问题。 请注意:语法检查可能是拼写错误,因为我正在删除生产代码,对不起。

2 个答案:

答案 0 :(得分:1)

你的html javascript中有一些错误,但我无法确定是否是你在这里输入的时候。

反正

  1. &#39;&#39;没有关闭,你有另一个&#39;&#39;而不是&#39;
  2. 您的javascript未正确关闭,以下是它的外观

    $(&#39; .data-view&gt; tbody&gt; tr&gt; td.cell-status&#39;)。each(function(){     的console.log(本); });

  3. 注意额外的&#39;);&#39;最后。

    现在,当我进行这些更改时,输出正常。

答案 1 :(得分:0)

我解决了这个问题。它非常悲伤&#34;,我在这里错过了几点。我正在使用struts 2和AJAX调用。当一个AJAX调用完成后,我的事件被调用,但是当它被调用时,数据没有被加载。原因是当进行AJAX调用时,数据被填充为&#34; tile&#34;它自己运行。填充其余元素并且并行加载数据。更改页面的位置解决了问题。谢谢你的帮助。