私は要素を持っていて、この要素のクラス属性を警告したいのですが、このコードを使用します。
<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);
}
参照。
プロパティを介してクラス名に直接アクセスできますclassName
(この場合、jQuery は必要ありません)。
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
。
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'))