2

在 JSP 文件中,我使用以下代码向属于特定类的元素添加属性:

    $($('.dhx_combo_input').get(0)).attr('style','width: 100%;<%=(highlight.get(0))?"background-color: #FF0000;":""%>');  
    $($('.dhx_combo_input').get(1)).attr('style','width: 100%;<%=(highlight.get(1))?"background-color: #FF0000;":""%>');  
    $($('.dhx_combo_input').get(2)).attr('style','width: 100%;<%=(highlight.get(2))?"background-color: #FF0000;":""%>'); 

highlight是一个ArrayList<Boolean>

我得到了很多这样的行,只有索引不同。它不是很漂亮也不简洁,所以我尝试用 for 循环替换它,但我需要在 JS 和 Java 中使用索引。我不确定这是否可能。我会坚持使用这种语法还是有更好的解决方案?

编辑 :

循环必须受到属于 class 的元素数量的限制dhx_combo_input

4

1 回答 1

3

除非我误解了你的问题,否则你可以这样做:

<%
    for(int i=0;...){
%>

$('.dhx_combo_input').eq(<%=i%>).attr('style','width: 100%;<%=(highlight.get(i))?"background-color: #FF0000;":""%>');

<%
    }
%>

请注意,我稍微修改了您的 jquery 以使用eq而不是,get因此您不必调用jquery两次。

于 2012-05-02T14:55:45.367 回答