1

画像にID値を動的に割り当てることができません...この画像のJavaScriptを参照して、それに応じて上向き/下向き矢印を表示しています...ここにコードスニペットがあります...

<apex:variable var="count" value="{!1}"/>
<apex:image id="msn{!count}" url="{!URLFOR($Resource.style_resources, 'images/up-arrow.gif')}" alt="Open-close" />

しかし、「idにはリテラル値が必要です」というコンパイルエラーが発生します...

id属性の値を動的に割り当てることはできませんか?

4

2 に答える 2

0

要素IDを動的に割り当てることはできません。文字列リテラルでなければなりません。ただし、クラス属性を使用して、後で 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 Selector Documentation

于 2012-05-14T15:53:19.237 に答える