我有一个元素,我想提醒这个元素的class属性我使用这个代码;
<li id="SSS" class="settings" onclick="alertClassName(this)">1111</li>
并在alertClassName函数中;
function changeClass(elem)
{
var x = $(elem.id);
alert(x.class) ;
}
警告不发现。
答案 0 :(得分:2)
尝试使用className
代替class
。
onclick="alertClassName(this)"
...
function alertClassName(elem) {
alert(elem.className);
}
答案 1 :(得分:1)
您可以直接通过className
属性访问类名(在这种情况下不需要jQuery):
function alertClassName(elem)
{
alert(elem.className);
}
答案 2 :(得分:1)
首先,您必须决定一个函数名称(alertClassName
或changeClass
)。我会使用alertClassName
,因为它与问题标题匹配:
下面:
<li id="SSS" class="settings" onclick="alertClassName(this)">1111</li>
...您正在将对实际元素的引用传递给您的函数。 this
DOM0处理程序属性中代码中的onxyz
是指onxyz
属性所在的元素。
这意味着您可以直接使用它:
function alertClassName(elem)
{
alert(elem.className);
}
如果你想改变它:
<li id="SSS" class="settings" onclick="changeClass(this, 'foo')">1111</li>
和
function changeClass(elem, newClass)
{
elem.className = newClass;
}
...会在点击元素时删除元素中的所有类,并添加foo
类。
答案 3 :(得分:0)
您尝试激活不同的功能,然后激活您发布的内容)alertClassName
而不是changeClass
)
以下是如何提醒然后更改元素类的示例。 (这是fiddle)。
代码:
<li id="SSS" class="settings" onclick="changeClass(this)">1111</li>
<script>
function changeClass(e)
{
alert("Current Class:" + e.className);
e.className = "Settings2";
alert("Updated Class:" + e.className);
}
</script>
答案 4 :(得分:-2)
尝试:
alert($(this).attr('class'))