如何使用 jQuery 通过遍历父元素返回子元素来选择某个元素?

发布于 2024-12-15 05:29:49 字数 508 浏览 1 评论 0原文

我有以下代码。

<div class="container">
     <input type="hidden" name="id" value="123" class="id" />
     <div class="inner">
          <a href="#" class="link">link</a>
     </div>
</div>

所以我试图在单击锚标记时获取隐藏的 id 值。这是我尝试过但不起作用的以下代码。

jQuery("a.link").click(function() {
     var id = jQuery(this).parents(".container").children("input.id").val();
     alert(id);
});

甚至不确定这是否是选择我想要的内容的最佳方式...一些指导将不胜感激。

I have the following code.

<div class="container">
     <input type="hidden" name="id" value="123" class="id" />
     <div class="inner">
          <a href="#" class="link">link</a>
     </div>
</div>

So I am trying to get the hidden id value when the anchor tag is clicked. And this is the following code I tried but didn't work.

jQuery("a.link").click(function() {
     var id = jQuery(this).parents(".container").children("input.id").val();
     alert(id);
});

Not even sure if that is the best way to select what I want...Some guidance would be appreciated.

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

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

发布评论

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

评论(3

So尛奶瓶 2024-12-22 05:29:49

该隐藏的输入标签是否有效,或者纯粹用于在有人单击您的链接时进行检查?另一种方法是使用 rel 属性将所需的值输出到锚标记本身,并消除隐藏的输入。

让你的 HTML 输出如下:

<div class="container">
     <div class="inner">
          <a href="#" class="link" rel="123">link</a>
     </div>
</div>

那么你的 jQuery 是这样的:

jQuery("a.link").click(function() {
     var id = jQuery(this).attr('rel');
     alert(id);
});

如果 标签不起作用,这也将简化你的 HTML 和 jQuery。

Is that hidden input tag functional, or purely present for inspecting when somebody clicks your link? An alternative to this would be to output the value you want into the anchor tag itself, using the rel attribute, and eliminate the hidden input.

Make your HTML output this:

<div class="container">
     <div class="inner">
          <a href="#" class="link" rel="123">link</a>
     </div>
</div>

Then your jQuery is this:

jQuery("a.link").click(function() {
     var id = jQuery(this).attr('rel');
     alert(id);
});

If that <input> tag isn't functional, this will simplify both your HTML and your jQuery too.

你是年少的欢喜 2024-12-22 05:29:49

尝试

jQuery(".link").live('click',function() {
     var id = jQuery(this).parents(".container").find(".id").val();
     alert(id);
});

try

jQuery(".link").live('click',function() {
     var id = jQuery(this).parents(".container").find(".id").val();
     alert(id);
});
再可℃爱ぅ一点好了 2024-12-22 05:29:49

试试这个:

$("a.link").click(function(){
    var value = $(this).parent().siblings(".id").val();
});

如果你想通过输入类型找到它,你可以这样做:

$("a.link").click(function() {
    alert($(this).parent().siblings("input[type='hidden']").val());
});

Try this:

$("a.link").click(function(){
    var value = $(this).parent().siblings(".id").val();
});

If you want to find it by the input type, you can do this:

$("a.link").click(function() {
    alert($(this).parent().siblings("input[type='hidden']").val());
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文