我有一个元素,我想提醒这个元素的类属性我使用这个代码;
<li id="SSS" class="settings" onclick="alertClassName(this)">1111</li>
并在 alertClassName 函数中;
function changeClass(elem)
{
var x = $(elem.id);
alert(x.class) ;
}
它提醒未定义。
我有一个元素,我想提醒这个元素的类属性我使用这个代码;
<li id="SSS" class="settings" onclick="alertClassName(this)">1111</li>
并在 alertClassName 函数中;
function changeClass(elem)
{
var x = $(elem.id);
alert(x.class) ;
}
它提醒未定义。
尝试使用className
而不是class
.
onclick="alertClassName(this)"
...
function alertClassName(elem) {
alert(elem.className);
}
参考。
首先,您必须确定函数名称(alertClassName
或changeClass
)。我将使用alertClassName
它与问题标题匹配:
这里:
<li id="SSS" class="settings" onclick="alertClassName(this)">1111</li>
...您将对实际元素的引用传递到您的函数中。DOM0 处理程序属性中的this
代码内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
类。
您可以通过className
属性直接访问类名(在这种情况下不需要 jQuery):
function alertClassName(elem)
{
alert(elem.className);
}
您尝试激活与您发布的功能不同的功能)alertClassName
而不是changeClass
)
这是一个如何提醒然后更改元素类的示例。(这是小提琴)。
和代码:
<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>
尝试:
alert($(this).attr('class'))