1

我在cshtml页面中有以下代码:

<ul id="menu">
  <li><a href="..." >Link1</a></li>
  <li><a href="..." >Link2</a></li>
</ul>

当某些条件为真时,我想更改标签的类别。我试过这个,但它不起作用:

<ul id="menu">
  <li 
    <script> if (..condition..) 
      document.write(" class = \"newclass\"");
    </script>
  ><a href="..." >Link1</a></li>
  <li><a href="..." >Link2</a></li>
</ul>

你能建议这样做的方法吗?

谢谢,振亚

4

3 回答 3

2

尝试提供li如下所示的 ID:

 <li id="list"><a href="..." >Link1</a></li>
 <li><a href="..." >Link2</a></li>

然后在你的 JavaScript 中尝试:

if (condition) {
   var element = document.getElementById("list");
   element.className = "newclass";
}

JSF中:

http://jsfiddle.net/bVGFP/

于 2013-06-18T10:31:53.300 回答
0

您必须使用document.innerHTML ,因为document.write需要重新加载页面。

<ul id="menu">
                <li  
                    //This is not valid syntax
                    <script> if (..condition..) 
                                document.write(" class = \"newclass\"");
                    </script>
                   ><a href="..." >Link1</a></li>
                <li><a href="..." >Link2</a></li>
            </ul>

那么对于你的情况,我建议你

    <ul id="menu">
                    <li id="po"><a href="..." >Link1</a></li>
                    <li ><a href="..." >Link2</a></li>
                </ul>

<script>
document.getElementById("po").className = "newclass";
                        </script>
于 2013-06-18T10:34:53.197 回答
0

请给 li 一个 id

<li id="test"></li><li>通过 id访问

$("#test").addClass("classname");
于 2013-06-18T10:40:59.443 回答