你是对的,你不能动态分配元素 id。它必须是字符串文字。然而,我使用了 class 属性来创建以后可以在 javascript 中使用的自定义 id。我用 jQuery 来做这件事,它是强大的选择器,可以根据标签类型和类来选择元素。
下面的示例只是一个示例,但是使用 jQuery,您可以获得非常有创意的东西。
<apex:variable var="count" value="{!1}"/>
<apex:image id="msn"
url="{!URLFOR($Resource.style_resources, 'images/up-arrow.gif')}"
alt="Open-close"
styleClass="msn{!count}" />
<apex:includeScript value="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"/>
<script>
jQuery.noConflict();
function doSomethingWithImg() {
try {
var imgElement = jQuery('.msn1');
/*Do what you need to do with the element*/
} catch (e) { /*Ignore Error*/ }
}
</script>
这是 jQuery 选择器的链接:jQuery 选择器文档