1

大家好,我正在尝试获取我单击的元素的父元素的类

前任:

<div class="mydiv"><a href="#" class="link">Click me</a></div> 

我想获取父 div(mydiv) 的类

我试过了,但没有用:

$(document).ready(function(){
$(".link").click(function(){
var div=$(this).parent().className;
alert(div);
});
});

它总是给我(未定义)。任何人都可以帮忙吗?

4

6 回答 6

5

.parent()给出 jquery 对象和 className 是 DOM 元素的属性,所以尝试:

var div=$(this).parent()[0].className; // use [0] to get the DOM element and get the property

或者

var div= $(this).parent().attr("class"); //Use jquery attr to get the value of the attribute class
于 2013-10-06T17:30:09.857 回答
1

使用.attr() {链接}

$('.element').attr('class'); // Get class(es)
$('.element').attr('id'); // Get the ID
于 2013-10-06T17:30:06.480 回答
1

使用.attr()尝试:

$(document).ready(function(){
$(".link").click(function(){
var div=$(this).parent().attr('class');
alert(div);
});
});
于 2013-10-06T17:30:15.247 回答
1

className是 HTML 元素的属性,而不是$(this).parent(). 您可以使用:

$(this).parent()[0].className;

它访问表示对象 ( $(this).parent()[0]) 的 DOM 对象,然后查找className属性。

请注意,如果您将多个类应用于一个元素,则该className属性将返回一个由所有类名分隔的空格组成的字符串。

https://developer.mozilla.org/en-US/docs/Web/API/element.className

在较新的浏览器上,您可以使用该classList属性,这使得处理类更容易:

https://developer.mozilla.org/en-US/docs/Web/API/element.classList

于 2013-10-06T17:32:15.120 回答
1

试试这个...........$(this).parent().attr('class');我肯定这会工作:)

于 2013-10-06T17:33:05.260 回答
1

这应该可以完成工作:

var parentClass = $('#childElement').parent().attr('class');
于 2013-10-06T17:34:12.423 回答