2

私はウェブサイトを開発していて、いくつかの悩みを抱えています..次のように、Javascript関数を使用してクラスを定義したいと思います:

html コード:

<script type="text/javascript" src="../js/active_menu.js"></script>
<a id="demo" class="<script>document.write(myFunction('index.php'));</script>" href="index.php">Home</a>

JavaScript コード:

function myFunction(menu_punkt)
{
var state = 'not_active'
var a = document.URL.split("//");
a = (a[1] ? a[1] : a[0]).split("/"); 
a = a[1];

if (menu_punkt == a){
    state = 'navactive';
}
return state
}
4

3 に答える 3

2

<script>属性内でタグを使用することはできません。おそらく最も簡単な変更は、これを行うことです。

<script type="text/javascript" src="../js/active_menu.js"></script>
<script>document.write('<a id="demo" class="' + myFunction('index.php') + '" href="index.php">Home</a>');</script>

JavaScript が無効になっているユーザーがページにアクセスしやすくしたい場合、または JS の実行をブロックせずに DOM の読み込みを継続できるようにしたい場合は、代わりに事後に要素を変更するアプローチを検討できます。

于 2012-12-21T17:51:44.407 に答える
1

プロパティを使用しclassNameます:

document.getElementById("demo").className = myFunction('index.php');

DOMに追加された後で これを呼び出すようにしてください。そうしないと、失敗します。demodocument.getElementById("demo")

于 2012-12-21T17:51:01.913 に答える