【问题标题】:error with Javascript onclickJavascript onclick 出错
【发布时间】:2012-04-28 05:29:57
【问题描述】:

我的结构是这样的:

<div>
    <div>
        <ul>
           <li id="li1" onclick="someJavascriptFunction()">......</li>
        </ul>
    </div>
    <div>
        <ul>
           <li id="anotherli1">......</li>
        </ul>
     </div>
</div>

javascript:

function getExecJob(execid){
<c:forEach var="exec" items="${execjobList}">
    var index = '${exec.execid}';

    var ele = document.getElementById("execjoblist"+index);
    if('${exec.execid}'==execid){
        ele.style.color='#DF013A';
        <c:set var ="currentExecId" value="${exec.execid}"/>
        <c:set var ="execJob" value="${exec}"/>
    }else{
        ele.style.color='#339';
    }
</c:forEach>
}

我在 javascript 函数中更改了 css 样式代码。现在不仅是这个 li1,而且所有像“anotherli1”这样的 lis 也响应 click 。如果我点击它们,它们就会变色!

谁能给我一些关于这里发生了什么以及我该如何解决它的建议?

【问题讨论】:

  • @MilkywayJoe - 我是来取悦的;因此,您的 LI 是空的,物理上单击它可能并不容易。 LI 是一个列表项 - 不是一个锚标签(又名“链接”)提供更完整的代码,我可以提供更完整的答案
  • 给我们看看someJavascriptFunction的代码,没有它我们真的无能为力。
  • 其实并不是那么空洞,我只是给出了类似的结构。对这种混乱感到抱歉。
  • 您是否有多个&lt;li&gt;s,ID 为li1?
  • 不,每个人都有自己的身份证。

标签: javascript css web


【解决方案1】:
$(document).ready( function() {
   $("li").click(function() {
      //your_func(this)
       $(this).css('color', 'red');
   });

});

当您单击任何 li 时,就会出现这种情况。您可以查看演示here

【讨论】:

    【解决方案2】:

    在您的 JavaScript 中,您的函数中有 &lt;c:forEach var="exec" items="${execjobList}"&gt;。

    因此,在函数中,它为每个&lt;li&gt; 添加代码,而不仅仅是您单击的那个。每个&lt;li&gt; 将设置为#DF013A 或#339。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-30
      • 1970-01-01
      • 2021-01-07
      • 2014-02-16
      相关资源
      最近更新 更多