获取同一父级中元素的文本

时间:2012-05-16 08:12:23

标签: jquery

我有以下HTML。我尝试实现的是在h4选择框调用的更改函数中获取#my_id的后面文本。

<div class="product_box">
    <h4>title</h4>
    <select id="my_id">
        <option value="1"></option>
        <option value="2"></option>
        <option value="4"></option>
    </select>
</div>
$("#ajax_call").change(function(){
    var count = $('#ajax_call :selected').val();
    var prod_modul =$('#ajax_call').parents();
}); 

2 个答案:

答案 0 :(得分:1)

尝试使用父元素作为上下文,如下所示:

$("#my_id").change(function() {
    var $parent = $(this).closest(".product_box");
    var text = $("h4", $parent).text();
});

或者,如果您可以保证h4 始终成为select的上一个元素,那么您可以使用prev()

$("#my_id").change(function() {
    var text = $(this).prev().text();
});

我的偏好是前者,因为它不依赖于元素的位置保持不变 - 这是永远无法保证的。请务必谨慎使用next()prev()

答案 1 :(得分:0)

使用siblings

$("#my_id").change(function() {
    var text = $(this).siblings("h4").text();
    //.....
});

DEMO