1

我无法使用我的 jQuery 代码选择正确的元素。这就是 DOM 的基本外观:

<div class='bad_link'>
    <p><a href='...'>...</a></p>
    <p><a href='...'>...</a></p>
    <input type='text' size='100' name='....' />
    <input class='check_button' type='button' name='check_link' value='Check' />
</div>

我正在尝试获取“检查”按钮正上方的输入字段的值,但我无法做到这一点。

这是我现在的 jQuery 代码:

$(document).ready(function() {
    $(".check_button").on('click', function() {
        window.alert($(this).siblings().find('input').text());
    });
});

我怎样才能抓住那个价值?谢谢!

4

3 回答 3

5

.prev()将选择复选框的前一个元素。

    $(".check_button").on('click', function() {
        window.alert($(this).prev('input[type="text"]').val());
    });

$(this).prev().val();也是一种选择

于 2012-04-30T17:23:33.180 回答
2

使用prev()选择前一个兄弟,使用val()获取输入的值:

window.alert($(this).prev().val());
于 2012-04-30T17:24:46.347 回答
1

您可能需要考虑与此不同的方法来查找要对其执行操作的元素。当您使用兄弟姐妹时,它会将您的功能与通常被认为是错误形式的 HTML 紧密联系在一起。很难理解仅仅移动标签或添加另一个标签会导致功能中断。

相反,我建议您提供要与类一起使用的元素。像obj_myElement_xxxxxx 是元素的 id 之类的东西。然后在您的按钮中设置一个与元素的 id 相对应的属性,以便您可以使用:

$(".obj_myElement_" + $(this).attr("data-myElementId"))

抓住你试图操纵的元素。

于 2012-04-30T17:27:37.950 回答