我试图获取一个元素类,并以字符串或纯文本的形式使用它:
<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
?
答案 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