输出类给我[对象对象]

时间:2014-06-13 14:51:48

标签: jquery string object

我试图获取一个元素类,并以字符串或纯文本的形式使用它:

<ul>
    <li class="list1"> list 1 </li>
    <li> list 1.1 </li>
    <li class="list"> list 2 </li>
    <li> list 3 </li>
</ul>

Jquery的

_class = $('.list').closest('*[class]');
alert(_class);

此警告[object Object]为什么不警告list1

Jsfiddle

4 个答案:

答案 0 :(得分:1)

你想要的是:

alert(_class.text());

alert(_class.html());

实际上_class本身就是一个jQuery对象,因此它的字符串形式为[object Object]

修改

如果您想要检查对象,请使用

console.log(_class);

或者如果你想提醒是课堂,那就去

alert(_class.attr('class'));

编辑2

如果您希望_class持有html项目的类,那么您应该

_class = $('.list').closest('*[class]').attr('class');

_class = $('.list').closest('*[class]')[0].className;

答案 1 :(得分:1)

因为$('.list').closest('*[class]');是jQuery对象,console.log(_class);将显示对象详细信息。

编辑以获取您将执行_class.attr('class')

之类的课程

答案 2 :(得分:1)

因为您引用的内容是object,所以它会一直提醒它。

如果您需要获取文本,可以使用

alert(_class.text());

要获得课程,请使用

alert(_class.attr('class')); // class attribute

答案 3 :(得分:1)

尝试:

var _class = $(".list").prevAll("[class]").first().attr("class");
alert (_class);

您不应该使用.closest(),因为这会增加DOM层次结构。您希望之前搜索兄弟姐妹,这就是.prevAll()所做的事情,然后使用.first()来获取最近的兄弟姐妹。

然后要获取class,请使用.attr("class")

请参阅此DEMO