在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中使用索引。我不确定这是可能的。我会坚持使用这种语法还是有更好的解决方案?
修改:
循环必须受属于类dhx_combo_input
的元素数量的限制。
答案 0 :(得分:3)
除非我误解你的问题,否则你可以这样做:
<%
for(int i=0;...){
%>
$('.dhx_combo_input').eq(<%=i%>).attr('style','width: 100%;<%=(highlight.get(i))?"background-color: #FF0000;":""%>');
<%
}
%>
注意,我稍微修改了您的jquery以使用eq
而非get
,因此您无需再拨打jquery
两次。