我不知道如何获得被点击元素的类值。

当我使用下面的代码时,我每次都得到“node-205”。

jQuery:

.find('> ul')
.tabs(
{
    selectedClass: 'active',
    select: function (event, ui) {
        //shows only the first element of list
        $(this).children('li').attr('class');
    },
    cookie: { expires: 0 },
    fx: fx
})

HTML:

<ul class="tabs">
  <li class="node-205"></li>
  <li class="node-150"></li>
  <li class="node-160"></li>
</ul>

当前回答

$("li").click(function(){
    alert($(this).attr("class"));
});

其他回答

这应该可以达到目的:

...
select: function(event, ui){ 
   ui.tab.attr('class');
} ,
...

有关ui的更多信息。选项卡参见http://jqueryui.com/demos/tabs/#Events

所有提供的解决方案都迫使您预先了解要单击的元素。如果你想从点击的任何元素中获取类,你可以使用:

$(document).on('click', function(e) {
    clicked_id = e.target.id;
    clicked_class = $('#' + e.target.id).attr('class');
    // do stuff with ids and classes 
    })

下面是一个快速jQuery示例,它向每个“li”标记添加一个单击事件,然后检索被单击元素的class属性。

$("li").click(function() {
   var myClass = $(this).attr("class");
   alert(myClass);
});

同样,你不需要用jQuery来包装对象:

$("li").click(function() {
   var myClass = this.className;
   alert(myClass);
});

在较新的浏览器中,你可以获得类名的完整列表:

$("li").click(function() {
   var myClasses = this.classList;
   alert(myClasses.length + " " + myClasses[0]);
});

你可以使用myClass.split(/\s+/)在旧浏览器中模拟classList;

$("li").click(function(){
    alert($(this).attr("class"));
});
$("div").click(function() {
  var txtClass = $(this).attr("class");
  console.log("Class Name : "+txtClass);
});