使用jQuery选择最近的DOM元素

时间:2011-06-25 08:38:29

标签: jquery jquery-selectors

如何使用jQuery访问与DOM相同级别的特定类的div? 我已经尝试过.closest()但它找不到元素。

例如:

<!-- foreach loop starts { -->
<fieldset>
    <legend>Values</legend>
    <div class="characteristic-values">          
        <!-- many divs inside -->
    </div>
    <input type="button" class="add-charactersitic-value" value="Add Value" />
</fieldset>
<!-- } foreach loop ends -->

试图访问“charactersies-values”但却没有成功的JavaScript:

<script>
$(".add-charactersitic-value").live("click", function () {
    var addButton = $(this);

    // How to access the specified div from "addButton" variable?       
    // This doesn't work:
    //addButton.closest(".characteristic-values").append("<b>somedata</b>");    
});
</script>

在这种情况下如何访问“特征值”?

谢谢。

2 个答案:

答案 0 :(得分:12)

.prev('.characteristic-values');

.prev选择之前的 兄弟 .closest选择 父母 (以及当前项目本身)

如果该项目不是前一个兄弟,那么这将不起作用(因为.prev仅选择该一个元素)。您可以改为执行以下任一操作:

.prevAll('.characteristic-values');
.parent().find('.characteristic-values');

答案 1 :(得分:0)

$(".add-charactersitic-value").prev(".characteristic-values");

http://jsfiddle.net/UUdXk/