Как найти div у определенного класса

0

HTML:

 <tr> 
          <td class="last_msg" id="408"><a href="/index/408" id="408">
               <div id="div408" class="msg-div">
               <div class="msg-actions">
                    <div id="unr_msg408" class="msg-unread"></div>
               </div>
               <div style="margin-top:14px; margin-bottom: 14px; line-height: 21px;">
                  <span class="msg-sender-name">Name</span>  
                  <span class="msg-date">Date</span><br>
                </div>
                </div>
              </a>
        <span class="msg_dlt_icon"><img id="dlt408" src="/public/images/icon-delete-blue.png" class="msg_icon_dlt" onclick="return deleteMessage()"></span>                   
          </td>                       
     </tr>

При нажатии на span с классом msg_dlt_icon мне нужно проверить, имеет ли div с классом msg-actions <div id="unr_msg408" class="msg-unread"></div> div <div id="unr_msg408" class="msg-unread"></div>.

Я попробовал нижнюю строку,

var unread =$(this).closest("tr").find('.msg-actions').hasClass('.msg-unread');

Я предупредил непрочитанную переменную, она всегда возвращает false.

Я хочу найти, есть ли <div id="unr_msg408" class="msg-unread"></div> внутри <div class="msg-actions">.

Можно ли это сделать.

3 ответа

4
Лучший ответ

Поэтому вам нужно сначала найти детей из .msg-actions, а затем проверить, есть ли у него класс msg-unread.

var unread =$(this).closest("tr").find('.msg-actions > div ').hasClass('msg-unread');
  • 0
    я бы объяснил селектор '>', я не слишком уверен, что OP знает, что это значит
  • 1
    это дочерний селектор
Показать ещё 1 комментарий
2

вы можете использовать

var unread = $(this).closest('tr').find('.msg-actions .msg-unread').length;
  • 0
    Работает хорошо ....
2

Эта

.hasClass('.msg-unread')

это неверно. hasClass уже предполагает, что вы ищете класс CSS. Вы пытаетесь рассматривать его как вызов типа $('.msg-unread'). Ваш hasClass() сообщает jquery буквально искать элемент, который выглядит как

<foo class=".msg-unread">
            ^---note this .

Вызов должен быть просто

.hasClass('msg-unread')

БЕЗ . ,

  • 0
    Пробовал это, но не работает.
  • 0
    @ user2439275 - вы понимаете, что это нужно изменить, даже если это не решит вашу проблему полностью
Показать ещё 1 комментарий

Ещё вопросы

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