'这'不是指正确的方法

时间:2013-04-12 16:01:10

标签: javascript jquery

我的问题是'this'选择器没有引用正确的元素。我搜索了jquery,它说你必须输入:“$(this)”来引用第一个函数,但这不起作用。

HTML:

<tbody id="tableBody">
            <tr>
                <td>Product 1</td>
                <td class="basisprijs">10.00</td>
                <td class="aantal"><input type="text" name="txtAtl1" value="0" id="txt1"/></td>
                <td class="btw">6</td>
                <td></td>
            </tr>
            <tr>
                <td>Product 2</td>
                <td class="basisprijs">15.00</td>
                <td class="aantal"><input type="text" name="txtAtl2" value="0" id="txt2"/></td>
                <td class="btw">21</td>
                <td></td>
            </tr>
            <tr>
                <td>Product 3</td>
                <td class="basisprijs">12.20</td>
                <td class="aantal"><input type="text" name="txtAtl3" value="0" id="txt3"/></td>
                <td class="btw">21</td>
                <td></td>
            </tr>
            <tr>
                <td>Product 4</td>
                <td class="basisprijs">13.00</td>
                <td class="aantal"><input type="text" name="txtAtl4" value="0" id="txt4"/></td>
                <td class="btw">21</td>
                <td></td>
            </tr>
        </tbody>

使用Javascript:

$(document).ready(setup);

function setup()
{
$('input').keyup(function refresh(){
    $("#tableBody tr").each(function() {
        $('this td:last-child').html("test");       
    });
});
}

2 个答案:

答案 0 :(得分:3)

试试这样:

$('input').keyup(function refresh(){
    $("#tableBody tr").each(function() {
        $(this).find('td:last-child').html("test");       
    });
});

答案 1 :(得分:1)

$('td:last-child',this).html("test");   

另一种方式是

$(this).find("td:last-child");