如何在复合中访问 jsf 复合的标签名称?

How can I access the tag-name of a jsf composite whitin the composite?

我有一个组合(如 xmlns:composite="http://java.sun.com/jsf/composite")。我通过

调用它
<comps:cimgx imgId="imA" flav="r" />

(例如)在一个页面上。有没有办法通过 javascript 引用此复合客户端生成的所有 html 对象?

类似

window.document.getElementsBy_magic_jsf_tagType("comps.cimagx");

编辑:或在合成中像

#{cc.JSF_tag_type_name}

??

Edit2:关于我问这个问题的背景,请参阅 Is it possible to add a javascript function to a h:form in jsf2?

JS 对负责生成 HTML 文档对象模型所基于的 HTML 输出的服务器端代码一无所知。这些信息确实以某种方式在 HTML 中结束。对于抽象,使用 CSS 类.

<cc:implementation>
    <div id="#{cc.clientId}" class="comp-cimgx">
        ...
    </div>
</cc:implementation>
var cimgxs = document.getElementsByClassName("comp-cimgx");

(注:getElementsByClassName() is not supported in IE8 and lower, grab jQuery 1.x 如有必要)

另请参阅:

  • Integrate JavaScript in JSF composite component, the clean way
  • How to select JSF components using jQuery?