jQuery parent () и parent (). parent () видят только один уровень? - PullRequest
0 голосов
/ 19 февраля 2009

У меня возникли проблемы с получением списка родителей элемента с помощью jQuery.

Возможно, я что-то упускаю, но у меня есть ссылка внутри нескольких вложенных элементов div, и я пытаюсь получить список братьев и сестер родителя родителя.

Мне кажется, что я могу перейти только на один уровень вверх по ссылке, поэтому я не могу

HTML выглядит следующим образом:

<div class="alertcontainer">
   <div id="alertnode_1" class="alertnode">
      <div class="alertnodeheader">Escalate to Level 1</div>
      <div class="alertnodebody">
         <div class="bold">Alert these people:</div><br/>
         <div class="alertnodebodycontactlist">
            <div class="alertnodebodycontact">187   
               <a id="d0.9659762698410487" 
                  onclick="RemoveNode(this, 187)" 
                  href="#">Remove Me...</a>
            </div>
            <div class="alertnodebodycontact">185   
               <a id="d0.6609632486132389" 
                  onclick="RemoveNode(this, 185)" 
                  href="#">Remove Me...</a>
            </div>
            <div class="alertnodebodycontact">184   
               <a id="d0.13180038199138278" 
                  onclick="RemoveNode(this, 184)" 
                  href="#">Remove Me...</a>
            </div>
            <div class="alertnodebodycontact">186   
               <a id="d0.6364304467227213" 
                  onclick="RemoveNode(this, 186)" 
                  href="#">Remove Me...</a>
            </div>
            <select class="esccontactlist" id="esc_contact_list_1">
               <option>Also alert...</option>
            </select>
         </div>
         <br/>
      </div>
   </div>
</div>

JS / jQuery следующим образом:

function RemoveNode(e, id)
{
   // Remove the contact
   $(e).parents().filter('.alertnodebodycontact').remove();

   // Add it back into the list.
   for ( var i = 0; i < ContactList.length; i++) 
   {
      if ( id == ContactList[i]["ContactID"] )
      {
         $('#esc_contact_list_1')
            .append("<option value='"
               +ContactList[i]["ContactID"]
               +"'>&nbsp;&nbsp;"
               +ContactList[i]["ContactName"]
               +" ("
               +ContactList[i]["PrimaryEmail"]
               +")</option>");
      }

      // Here, I want to count the number of '.alertnodebodycontact' divs.
      // However, $(e).parents() only returns a single item, which is the 
      // '.alertnodebodycontact'  that the link is in.  
      //  Likewise, $(e).parent().parent() returns nothing.

      // Anyone have any idea why the outer divs aren't being returned?

   }
}

1 Ответ

2 голосов
/ 19 февраля 2009

Неважно ... Я пытаюсь получить доступ к нему после удаления. Просто нужно переупорядочить мои задания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...