鉴于此HTML:
<button id="buttonId1" class="hello universe">
<button id="buttonId2" class="hello world">
这样做的正确方法是什么:
$("#buttonId1").click(function ()
{
alert($("#buttonId1").getClass());
}
我意识到JQuery或Javascript中不存在getClass
函数。但我希望有一些方法可以近似它。我有一个更复杂的现实世界问题很难归结为一个简单的问题,但基本上我认为我需要以某种方式访问元素的类,然后使用该类字符串执行其他选择,如:
$(("#buttonId1").getClass().filter("world")).hide();
也许有更简单的方法可以隐藏我给出的代码中的buttonId2
- 但这并不是真正的重点。我感兴趣的是如何上课,然后进一步使用。到目前为止,我提出的唯一解决方案是使用if / else语句的长分支,使用hasClass
函数检查所有可能的类。但这是一个非常不优雅的解决方案。
编辑:回应Paolo的回答,也许这样的事情会隐藏button2:
$(("#buttonId1").attr('class')[0].filter("world")).hide();
答案 0 :(得分:2)
我认为,如果你试图解释你的最终目的是什么,我可以真正帮助你以最好的“jQuery方式”实现你的最终结果 - 但是,没有它,我只能说:
$("#buttonId1").click(function() {
alert($(this).attr('class'));
});
警告'你好'并且:
$("#buttonId2").click(function() {
alert($(this).attr('class'));
});
会提醒'你好世界'
(作为旁注,在您的示例中重做事件函数中的选择器是不好的做法;您只需使用$(this)
来表示当前正在执行的元素)
答案 1 :(得分:1)
试试这个:
$("#buttonId1").click(function ()
{
var classname = $("#buttonId1").attr("class")
alert(classname);
}
答案 2 :(得分:0)
$("#buttonId1").click(function ()
{
alert(document.getElementById("buttonId1").className);
}