'这'没有参考正确的方法

'this' not referring to correct method

本文关键字:方法 参考      更新时间:2023-09-26

我的问题是"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");       
    });
});
}

这样试试:

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

另一种方式是

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