无法获得tr内容

时间:2014-01-28 08:55:39

标签: javascript jquery knockout.js

我有这个函数应该循环tbody并显示结果:

changeFont = function(){
                           console.log('inside of changeFont');
                              $("tbody").find("tr").each(function() {                                                                 
                                    var paymentDate = $(this).find('td.realPlanDate').text();
                                    var q = $(this).prev().find('td.q').text();
                                    var z = $(this).find('td.z').text(); 
                                    var gT =   $(this).find('td.gT').text(); 
                                    var b = $(this).find('td.b').text(); 
                                    var c = $(this).prev().find('td.c').text();
                                    var e = $(this).find('td.e').text();
                                    var f = $(this).find('td.f').text();
                                    var assimilationDate = $(this).find('td.assimilationDate').text();
                                    var a = $(this).find('td.a').text();
                                    var h = $(this).find('td.h').text();
                                    var i = $(this).find('td.i').text();
                                    var eT = $(this).find('td.eT').text();
                                    var mDays = $(this).find('td.mDays').text();
                                    var nDays = $(this).find('td.nDays').text();
                                    var changeFont = $(this).find('td.changeFont').text();

                                   console.log('Changefont complete!');
                                   console.log(this.changeFont);
                                    if(changeFont == '1'){
                                        console.log('inside of the if');
                                    }                                   
                              });
                           };

这是我的HTML表格:

<table class="dataTable" id="repaymentPlan">
                <thead>
                    <tr>
                        <th> 1 </th>
                        <th> 2 </th>
                        <th>3</th>
                        <th>4</th>
                        <th style="width: 5em;">5</th>
                        <th style="width: 5em;">6</th>
                        <th style="width:5em;">7</th>                       
                        <th>8</th>
                        <th>-</th>
                        <th>9</th>
                        <th style="width: 5em;">10</th>
                        <th>11</th>
                        <th>12</th>
                        <th>13</th>
                        <th>-</th>
                        <th>mDays</th>
                        <th>nDays</th>      
                        <th style="width: 5em;">Change font</th>
                        <th></th>
                    </tr>
                </thead>
                <tbody data-bind="foreach: creditCalculationDetails">
                    <tr>
                    <td class="realPlanDate" data-bind="text: realPlanDate"></td>
                        <td class="q" data-bind="text: q"></td>
                        <td class="z" data-bind="text: z"></td>
                        <td class="gT" data-bind="text: g"></td>
                        <td class="b" data-bind="text: b" style="width: 5em;"></td>
                        <td class="c" data-bind="text: c" style="width: 5em;"></td>
                        <td class="e" data-bind="text: e" style="width: 5em;"></td>
                        <td class="f" data-bind="text: f"></td>
                        <td></td>
                        <td class="assimilationDate" data-bind="text: assimilationDate"></td>
                        <td class="a" data-bind="text: a" style="width: 5em;"></td>
                        <td class="h" data-bind="text: h"></td>
                        <td class="i" data-bind="text: i"></td>
                        <td class="eT" data-bind="text: eT"></td>
                        <td></td>
                        <td class="mDays" data-bind="text: mDays" style="width: 5em;"></td>
                        <td class="nDays" data-bind="text: nDays" style="width: 5em;"></td>

                        <td class="fT" data-bind="text: fT" style="width: 5em;"></td>

                        <td class="gT" data-bind="text: gT" style="width: 5em;"></td>

                        <td class="hT" data-bind="text: hT" style="width: 5em;"></td>

                        <td class="iT" data-bind="text: iT" style="width: 5em;"></td>
                        <td class="J" data-bind="text: J" style="width: 5em;"></td>
                        <td class="changeFont" data-bind="text: changeFont" style="width: 5em;"></td>                       
                        <td></td>
                    </tr>
                </tbody>
            </table>

此输出:console.log(this.changeFont);始终返回undefined

几个月前我已经使用过这段代码而且它工作得很好(并且仍然在旧项目中工作),但现在我无法发现我的错误,我知道我错过了一些非常小的东西,但我不是能够找出它是什么。

2 个答案:

答案 0 :(得分:1)

您的功能为changeFont而不是chengeFont,请尝试使用

console.log(this.changeFont);

答案 1 :(得分:1)

您正在使用var changeFont分配值,并且您正在记录console.log(this.chengeFont);

更改中存在拼写错误,表格中没有属性chengeFont或changeFont。

要获取该值,您需要记录console.log(changeFont);