如何使用jquery选择器找到最近的div元素?

时间:2013-10-27 11:21:18

标签: javascript jquery html ajax

我的HTML:

<td class="result">
    <div id="main_title">
        <label for="textfield"></label>
        <input type="text" name="textfield" id="textfield" value="<?php echo $row['leftpanelmaintitle']; ?>" />
    </div>
    <div id="edit"><a href="#">EDIT</a></div>
    <div id="update"><a href="#">UPDATE</a></div>
</td>

我的js:

$('#edit').click(function()
    {

        $('#main_title').show(1000,function(){
            $('#update').show();
            $('#textfield').focus();
            });
        })

我想在$('#main_title')的位置使用通用选择器。这是前一个div的地址。

我试过了;

$(this).click(function()
    {

        $(this).prev('div').show(1000,function(){
            $('#update1').show();
            $('#textfield').focus();
            });
        })

不能正常工作。

2 个答案:

答案 0 :(得分:0)

你可以这样做:

$('#edit').click(function () {
    $(this).prev('#main_title').show(1000, function () {
        $('#update').show();
        $('#textfield').focus();
    });
}); 

在此处,$(this).prev('#main_title')会向 ID main_title <当前点击的div中的 ID edit提供上一个div / p>

<强>更新

您可以将名为edit的类添加到编辑按钮,并按以下方式执行:

$('.edit').click(function () {
    $(this).prev().show(1000, function () {
        $('#update').show();
        $('#textfield').focus();
    });
});

演示:Fiddle

答案 1 :(得分:0)

您应该使用$('id').children()通过编写当前div的id来获取前一个div。