私が作業する大まかな HTML は次のとおりです。
<li class="par_cat"></li>
<li class="sub_cat"></li>
<li class="sub_cat"></li>
<li class="par_cat"></li> // this is the single element I need to select
<li class="sub_cat"></li>
<li class="sub_cat"></li>
<li class="sub_cat current_sub"></li> // this is where I need to start searching
<li class="par_cat"></li>
<li class="sub_cat"></li>
<li class="par_cat"></li>
からトラバースして.current_sub
、最も近い前のものを探し.par_cat
、それに対して何かを行う必要があります。
.find("li.par_cat")
全体のロードを返します.par_cat
(ページには約 30 個あります)。 1 つをターゲットにする必要があります。
ベストアンサー1
試す:
$('li.current_sub').prevAll("li.par_cat:first");
マークアップでテストしました:
$('li.current_sub').prevAll("li.par_cat:first").text("woohoo");
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
<li class="par_cat"></li>
<li class="sub_cat"></li>
<li class="sub_cat"></li>
<li class="par_cat">// this is the single element I need to select</li>
<li class="sub_cat"></li>
<li class="sub_cat"></li>
<li class="sub_cat current_sub">// this is where I need to start searching</li>
<li class="par_cat"></li>
<li class="sub_cat"></li>
<li class="par_cat"></li>
</ul>
最も近い前の単語を「わーい」で埋めますli.par_cat
。