可实例化portlet中的jQuery选择器(重复ID)

时间:2016-05-20 08:11:16

标签: javascript jquery jquery-selectors liferay-6.2

我已经创建了一个可实例化的portlet,我的问题是当我在同一页面中部署了这个portlet的两个或更多实例时,我的jQuery函数无法正常工作,因为我的选择器只按ID或类选择第一个元素在文件中找到。

我想在ID中加入以区分实例ID。

我的问题是我无法选择带有的元素,控制台会抛出以下错误:

  

未捕获错误:语法错误,无法识别的表达式:.tabOferta:eq(1)

我想选择的元素是:

<li class="<portlet:namespace/>tabOferta" id="<portlet:namespace/>tabOferta">

我测试了以下指令:

$(".<portlet:namespace/>tabOferta");
document.getElementsByClassName('<portlet:namespace/>tabOferta');
document.getElementsById('<portlet:namespace/>tabOferta');

问题是:如果有多个具有相同ID的portlet,如何选择特定元素?

如何解决main.js中的<porlet:namespace>变量?

1 个答案:

答案 0 :(得分:0)

你总是可以使用css选择器缩小元素范围。例如,&#34; portlet:contains(tab0ferta)&#34;,但是像托尼所说,如果获得相同ID的倍数,你可能想要改变你的设计。