-1

私は要素を持っていて、この要素のクラス属性を警告したいのですが、このコードを使用します。

<li id="SSS" class="settings" onclick="alertClassName(this)">1111</li>

および alertClassName 関数内。

function changeClass(elem)
{
var x = $(elem.id);
alert(x.class) ;
}

未定義を警告します。

4

5 に答える 5

2

classNameの代わりに試してみてくださいclass

onclick="alertClassName(this)"

...

function alertClassName(elem) {
  alert(elem.className);
}

参照

于 2013-07-07T11:22:36.667 に答える
1

プロパティを介してクラス名に直接アクセスできますclassName(この場合、jQuery は必要ありません)。

function alertClassName(elem)
{
    alert(elem.className);
}
于 2013-07-07T11:23:19.573 に答える
1

まず、関数名 (alertClassNameまたはchangeClass) を決定する必要があります。alertClassName質問のタイトルと一致するので使用します。

ここ:

<li id="SSS" class="settings" onclick="alertClassName(this)">1111</li>

...実際の要素への参照を関数に渡しています。DOM0 ハンドラー属性のコード内の は、属性が存在する要素を参照しthisます。onxyzonxyz

これは、直接使用できることを意味します。

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

于 2013-07-07T11:30:25.323 に答える
0

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>
于 2013-07-07T11:37:44.793 に答える
-2

試す:

alert($(this).attr('class'))
于 2013-07-07T11:22:26.993 に答える