jquery找到所选元素的索引

时间:2014-04-15 16:48:40

标签: jquery

你好我想检索一个表中所选项目的列索引,用于在表格的标题中做一个颜色指示,当鼠标移动时,包含该元素的表格的头部会改变颜色< / p>

这是我创作的功能

$(function () {

    var content = $('tr').children().children().children();
    content.hover(function () {
        var col2 = $(this).parent().parent().parent();
        var index2 = col2.index($(this));

        $('tr:first-child :nth-child(' + index2 + ')').css('background-color', 'red')

    });
});

感谢

2 个答案:

答案 0 :(得分:1)

index仅在参数是您调用它的元素的子元素时才有效。在您的情况下,$(this)col2的曾孙。我想你需要使用:

var index2 = col2.index($(this).parent().parent());

然后,当您将index2:nth-child一起使用时,需要添加1,因为该选择器是从1开始的。

    $('tr:first-child :nth-child(' + (index2+1) + ')').css('background-color', 'red')

答案 1 :(得分:0)

<h:form id="form">
<p:growl id="messaget"></p:growl>
<center>
<p:panelGrid  columns="#{horaireBean.listCalendrier.size()+1}"
styleClass="horaire1"  >
<p:outputLabel >
<center>
<h4>Catégorie/Calendrier</h4>
</center>
</p:outputLabel>

<c:forEach var="cal" begin="1"
end="#{horaireBean.listCalendrier.size()}">

<p:outputLabel 
value="#{horaireBean.listCalendrier.get(cal-1).designation}" />

</c:forEach>

<c:forEach var="j" begin="1"
end="#{horaireBean.listCategorie.size()}">
<p:outputLabel
value="#{horaireBean.listCategorie.get(j-1).desigCat}" />
<c:forEach var="i" begin="1"
end="#{horaireBean.listCalendrier.size()}">


<p:selectOneMenu  value="#{horaireBean.sequence2}" styleClass="horaire2"   
converter="sequenceConverter" >
<f:selectItem itemLabel="#{horaireBean.listehoraire.get(j-1).get(i-1).desigSeq}"/>
<f:selectItems value="#{sequencebean.listeSequence}" var="seq" itemLabel="#    
{seq.desigSeq}" itemValue="#{seq}"  />
<p:ajax  event="change"  process="@this" onstart="#{horaireBean.attribuer(j-1,i-1)}"  
update=":formheader:enregistrer :formheader:annuler"  />
</p:selectOneMenu>   
</c:forEach>
</c:forEach>
</p:panelGrid>          
</center>
</h:form>`