如何使用 jQuery 获取特定类的 ID?

发布于 2024-12-03 03:41:40 字数 532 浏览 1 评论 0原文

我有一些类名为 hover 的 div 元素,这些 div 元素的父 div 具有类名 hoverparent 但这些父元素的 id 不同。

将鼠标悬停在 .hover div 元素上时是否可以获取相应 .hoverparent 元素的 ID?

我试图通过以下方式得到这个:

$('.hoverparent').attr('id')

但它每次都给出相同的第一个父 ID。

结构如下:

<div class="hoverparent" id="hover-1">
<div class="hover">ABC</div>
</div>
<div class="hoverparent" id="hover-2">
<div class="hover">DEF</div>
</div>

I have some div elements having class name hover, these div elements have parent divs having class name hoverparent but the id's of these parent elements are different.

Is it possible to get the ID of respective .hoverparent element while hovering on my .hover div elements?

I tried to get this by:

$('.hoverparent').attr('id')

But it gives the same first parent id every time.

Structure is like:

<div class="hoverparent" id="hover-1">
<div class="hover">ABC</div>
</div>
<div class="hoverparent" id="hover-2">
<div class="hover">DEF</div>
</div>

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

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

发布评论

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

评论(9

芸娘子的小脾气 2024-12-10 03:41:40

您需要使用 parentclosest 函数遍历 DOM 树以查找您要查找的“父”元素

$(".hover").hover(function() {
    var $parent = $(this).closest(".hoverparent");
    alert($parent.attr("id"));
});

父级最接近的是第一个仅当 .hoverparent 元素是 .hover 元素的直接父级时才起作用; closest 将向上搜索所有祖先来找到它。

You need to use the parent or closest functions to traverse up the DOM tree to find the "parent" element you are looking for:

$(".hover").hover(function() {
    var $parent = $(this).closest(".hoverparent");
    alert($parent.attr("id"));
});

The difference between parent and closest is that the first will only work if the .hoverparent element is the immediate parent of the .hover element; closest will search upwards through all ancestors to find it.

烂柯人 2024-12-10 03:41:40

在悬停回调中尝试 $(this).parent().attr('id') 。

try $(this).parent().attr('id') , in your hover callback.

唔猫 2024-12-10 03:41:40
$('.hover').mouseover(function() {
    $(this).parent().attr('id');
});
$('.hover').mouseover(function() {
    $(this).parent().attr('id');
});
野却迷人 2024-12-10 03:41:40

不要称你的班级为悬停。这应该有效

$(".hover").hover(
  function () {
   var id =  $(this).parent().attr('id');
  });

don't call your class hover. this should work

$(".hover").hover(
  function () {
   var id =  $(this).parent().attr('id');
  });
影子的影子 2024-12-10 03:41:40

像这样添加每个循环:

$(".hoverparent").each(function(){
    var id=$(this).attr("id");
    alert(id);
 });

Add each loop like this :

$(".hoverparent").each(function(){
    var id=$(this).attr("id");
    alert(id);
 });
青春如此纠结 2024-12-10 03:41:40

在悬停事件的处理程序中使用父方法:

$('.hover').hover(function(evt){
    var par = $(this).parent().attr('id');
    //Now do with ID what you need
},
function(evt){
    //presumably you don't need anything for mouseout
});

Use the parent method in the handler for the hover event:

$('.hover').hover(function(evt){
    var par = $(this).parent().attr('id');
    //Now do with ID what you need
},
function(evt){
    //presumably you don't need anything for mouseout
});
俯瞰星空 2024-12-10 03:41:40

您可以尝试 parent() 方法。
像这样:

$('a').click(function(){
  var parentId = $(this).parent('div.hoverparent').attr('id');
});

You can try the parent() method.
Like this:

$('a').click(function(){
  var parentId = $(this).parent('div.hoverparent').attr('id');
});
旧故 2024-12-10 03:41:40

请尝试以下操作:

$('.hover').hover(function() {
    var parentID = $(this).parent().attr('id');    alert(parentID);
});

Try the following:

$('.hover').hover(function() {
    var parentID = $(this).parent().attr('id');    alert(parentID);
});
凯凯我们等你回来 2024-12-10 03:41:40
$(".hover").hover(function(){

console.log($(this).closest(".hoverparent").attr("id"));
});

这是小提琴http://jsfiddle.net/9dJJ9/1/show/

$(".hover").hover(function(){

console.log($(this).closest(".hoverparent").attr("id"));
});

here is the fiddle http://jsfiddle.net/9dJJ9/1/show/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文