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

发布于 2024-09-08 01:11:50 字数 755 浏览 2 评论 0原文

我在 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>

如何找到与 class="enableTextBox"位于同一 divclass="comments" 元素/code> 链接,在链接的onclick事件中?

这是处理元素 ID 冲突的明智方法吗?有更好的办法吗?在企业应用程序中运行并确保数据一致性方面,它的安全性如何?

I have a UserControl in MVC which may be repeated many times on the page.

Say I had something like the following:

<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>

How can I find the class="comments" element which is in the same div as the class="enableTextBox" link, in the onclick event of the link?

Is this a sensible way of handling element Id conflicts? Is there a better way? How secure would it be in terms of running in an enterprise app and being certain of data consistency?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

人间☆小暴躁 2024-09-15 01:11:50

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

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

jQuery 中有很多可用的遍历方法:

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

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

Using jQuery's .siblings() method is one way:

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

There are lots of traversal methods available in jQuery:

EDIT: Added return false; to prevent the link from refreshing the page.

Here's an example you can test: http://jsfiddle.net/MZEmP/

心头的小情儿 2024-09-15 01:11:50
$(".enableTextBox").click(function() {
   $(".comments", $(this).parent())  //this will get you the comments associated with the anchor you click on
})
$(".enableTextBox").click(function() {
   $(".comments", $(this).parent())  //this will get you the comments associated with the anchor you click on
})
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文