jQuery在同一个容器中查找类名的元素

时间:2010-07-01 15:21:33

标签: jquery asp.net-mvc-2 user-controls jquery-selectors

我在MVC中有一个UserControl,可能会在页面上重复多次。

说我有以下内容:

<div>
    <a href="#" class="enableTextBox">edit</a>"
    <input type="text" class="comments" readonly="readonly" />
</div>

<div>
    <a href="#" class="enableTextBox">edit</a>"
    <input type="text" class="comments" readonly="readonly" />
</div>

<div>
    <a href="#" class="enableTextBox">edit</a>"
    <input type="text" class="comments" readonly="readonly" />
</div>

如何在链接的onclick事件中找到与class="comments"链接在同一div 中class="enableTextBox"元素?

这是处理元素Id冲突的明智方法吗?有没有更好的办法?在企业应用程序中运行和确保数据一致性方面有多安全?

2 个答案:

答案 0 :(得分:2)

使用jQuery的.siblings()方法是一种方法:

$('.enableTextBox').click(function() {
    var $comments = $(this).siblings('.comments');
    return false;  // Prevent page refresh
});

jQuery中有很多遍历方法:

编辑:添加return false;以防止该链接刷新页面。

以下是您可以测试的示例:http://jsfiddle.net/MZEmP/

答案 1 :(得分:1)

$(".enableTextBox").click(function() {
   $(".comments", $(this).parent())  //this will get you the comments associated with the anchor you click on
})