jquery найти индекс выбранного элемента

0

привет. Я хочу получить индекс столбца выбранного элемента в таблице, чтобы использовать, чтобы сделать индикатор цвета в заголовке таблицы, когда мышь перемещается, голова таблицы, содержащей элемент, меняет цвет

это моя функция, которую я создаю

$(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')

    });
});

благодаря

  • 0
    Имейте в виду, что index () начинается с нуля, а nth-child () первый индекс равен 1
  • 1
    вставить пример HTML, который вы используете
Показать ещё 3 комментария
Теги:

2 ответа

1

index работает только в том случае, если аргумент является дочерним элементом элемента, с которым вы его вызываете. В вашем случае $(this) является правнуком col2. Я думаю, вам нужно использовать:

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

Затем вам нужно добавить 1 к index2 когда вы используете его :nth-child, потому что этот селектор основан на 1.

    $('tr:first-child :nth-child(' + (index2+1) + ')').css('background-color', 'red')
  • 0
    спасибо за вашу помощь, я пробую, но у меня та же проблема
  • 0
    Можете ли вы сделать jsfiddle, демонстрирующий проблему?
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>'
  • 0
    спасибо, это моя страница xhtml, я создал динамическую таблицу, которая содержит меню selectone в каждой ячейке

Ещё вопросы

Сообщество Overcoder
Наверх
Меню