![](/img/trans.png)
[英]Using jQuery, how to find the index of an element amongst its siblings of a specified CSS class
[英]How to add class to a specific siblings of element using jquery?
我想查找某個元素是否具有class lesson_read
然后將found
的類添加.course_section
上方的.course_section
中。 但不要將類添加到其下面的.course_section
中。 這是HTML
<table class="table">
<tbody>
<tr class="course_section "><!-- this should have class "found" -->
<td colspan="4">Introduction to AEM</td>
</tr>
<tr class="course_lesson lesson_read">
<td class="curriculum-icon"><i class="icon-play"></i></td>
<td><a href="#">Introduction to AEM</a></td>
<td> </td>
<td><span class="time"><i class="fa fa-clock-o"></i> 00:00:00</span></td>
</tr>
<tr class="course_lesson lesson_read">
<td class="curriculum-icon"><i class="icon-play"></i></td>
<td><a href="#">Installing AEM</a></td>
<td> </td>
<td><span class="time"><i class="fa fa-clock-o"></i> 00:00:00</span></td>
</tr>
<tr class="course_lesson">
<td class="curriculum-icon"><i class="icon-task"></i></td>
<td>AEM Installation Quiz</td>
<td> </td>
<td><span class="time"><i class="fa fa-clock-o"></i> Unlimited</span></td>
</tr>
<tr class="course_section">
<td colspan="4">AEM Environment</td>
</tr>
<tr class="course_lesson">
<td class="curriculum-icon"><i class="icon-text-document"></i></td>
<td>AEM Instances</td>
<td> </td>
<td><span class="time"><i class="fa fa-clock-o"></i> 00:00:00</span></td>
</tr>
<tr class="course_lesson">
<td class="curriculum-icon"><i class="icon-play"></i></td>
<td>Developer Tools</td>
<td> </td>
<td><span class="time"><i class="fa fa-clock-o"></i> 00:00:00</span></td>
</tr>
</tbody>
</table>
我已經試過了
jQuery('.course_section').each(function() {
var c='';
jQuery(this).siblings().each(function() {
if(jQuery(this).hasClass('lesson_read')){
c='found';
}
});
if(c=='found'){
jQuery(this).addClass(c);
}
});
但是,這會將found
課程添加到每個課程部分。
您需要使用.prev()
選擇元素的先前同級。
$(".lesson_read").prev(".course_section").addClass("found");
$(".lesson_read").prev(".course_section").addClass("found");
.found {color:red}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <table class="table"> <tbody> <tr class="course_section"><!-- this should have class "found" --> <td colspan="4">Introduction to AEM</td> </tr> <tr class="course_lesson lesson_read"> <td class="curriculum-icon"><i class="icon-play"></i></td> <td><a href="#">Introduction to AEM</a></td> <td> </td> <td><span class="time"><i class="fa fa-clock-o"></i> 00:00:00</span></td> </tr> <tr class="course_lesson lesson_read"> <td class="curriculum-icon"><i class="icon-play"></i></td> <td><a href="#">Installing AEM</a></td> <td> </td> <td><span class="time"><i class="fa fa-clock-o"></i> 00:00:00</span></td> </tr> <tr class="course_lesson"> <td class="curriculum-icon"><i class="icon-task"></i></td> <td>AEM Installation Quiz</td> <td> </td> <td><span class="time"><i class="fa fa-clock-o"></i> Unlimited</span></td> </tr> <tr class="course_section"> <td colspan="4">AEM Environment</td> </tr> <tr class="course_lesson"> <td class="curriculum-icon"><i class="icon-text-document"></i></td> <td>AEM Instances</td> <td> </td> <td><span class="time"><i class="fa fa-clock-o"></i> 00:00:00</span></td> </tr> <tr class="course_lesson"> <td class="curriculum-icon"><i class="icon-play"></i></td> <td>Developer Tools</td> <td> </td> <td><span class="time"><i class="fa fa-clock-o"></i> 00:00:00</span></td> </tr> </tbody></table>
您必須使用prevAll()來獲取所有具有course_section類的先前兄弟姐妹,然后必須使用.last()來獲取lesson_read類的上一個先前兄弟姐妹(course_section)
$('.lesson_read').prevAll('.course_section').last().addClass('found');
.found{ color:red}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <table class="table"> <tbody> <tr class="course_section "><!-- this should have class "found" --> <td colspan="4">Introduction to AEM</td> </tr> <tr class="course_lesson"> <td class="curriculum-icon"><i class="icon-play"></i></td> <td><a href="#">Introduction to AEM</a></td> <td> </td> <td><span class="time"><i class="fa fa-clock-o"></i> 00:00:00</span></td> </tr> <tr class="course_lesson lesson_read"> <td class="curriculum-icon"><i class="icon-play"></i></td> <td><a href="#">Installing AEM</a></td> <td> </td> <td><span class="time"><i class="fa fa-clock-o"></i> 00:00:00</span></td> </tr> <tr class="course_lesson"> <td class="curriculum-icon"><i class="icon-task"></i></td> <td>AEM Installation Quiz</td> <td> </td> <td><span class="time"><i class="fa fa-clock-o"></i> Unlimited</span></td> </tr> <tr class="course_section"> <td colspan="4">AEM Environment</td> </tr> <tr class="course_lesson"> <td class="curriculum-icon"><i class="icon-text-document"></i></td> <td>AEM Instances</td> <td> </td> <td><span class="time"><i class="fa fa-clock-o"></i> 00:00:00</span></td> </tr> <tr class="course_lesson"> <td class="curriculum-icon"><i class="icon-play"></i></td> <td>Developer Tools</td> <td> </td> <td><span class="time"><i class="fa fa-clock-o"></i> 00:00:00</span></td> </tr> </tbody> </table>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.