0

JavaScript に少し問題があります。を使用してページの属性を変更する方法を学習しようとしていますがsetAttribute(name, value)、何も起こりません。

これは私のテスト サイトの HTML コードです。

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8" />
<title>Test</title>
</head>

<body>
<div id="test" class="time"></div>
<script src="js/script.js"></script>
</body>
</html>

これは私のJavaScriptコードです:

if(document.getElementById("test").hasAttribute("class")) {
    alert("got message");
    var test = "test";
    document.getElementById("test").setAttribute("class", test);
}

非常にシンプルなので動作するはずなのですが、アラートがポップアップするだけで、ページのソースを確認しても何も変わりません。正直に言うと、いくつかの異なるアプローチを試しましたが、何もうまくいきませんでした。本当にばかげたものに違いないのですが、見つかりません。

4

4 に答える 4

1

すべてのクラスを変更

document.getElementById("test").className = test;

クラスを追加します。

document.getElementById("test").className += test;
于 2013-10-07T16:30:23.367 に答える
0

.classNameクラス属性にアクセスするには、DOM オブジェクトのプロパティを使用するだけです。

コードを次のように置き換えることができます。

// if the class name is not empty, then change it
if (document.getElementById("test").className) {
    alert("got message");
    document.getElementById("test").className = "test";
}

実際のデモ: http://jsfiddle.net/jfriend00/x25Lj/

PS .attr()DOM オブジェクトにはメソッドがありません。ここにない jQuery オブジェクトで使用されているのを見たことがあるかもしれません。

于 2013-10-07T16:34:24.493 に答える