子要素 h2 の間のすべての .section 要素を取得する必要があります。私のコードはすべての要素を切り替えます。untilNext(ab) は、子孫 b を持つ要素まで選択していません。別のアプローチが必要ですか、それとも私が見ていない何か問題がありますか?
html: '
<div class='section' id='section-4'>
<div class='docs'>
<div class='octowrap'>
<a class='octothorpe' href='#section-4'>#</a>
</div>
<h2>todo <br></h2>
<p>main.html <br></p>
</div>
<div class='code'>
<div class="highlight"><pre><span class="n">colorific</span></pre></div>
</div>
</div>
<div class='clearall'></div>
<div class='section' id='section-5'>
<div class='docs'>
<div class='octowrap'>
<a class='octothorpe' href='#section-5'>#</a>
</div>
<p>containers <br></p>
</div>
<div class='code'>
</div>
<div class='clearall'></div>
<div class='section' id='section-6'>
<div class='docs'>
<div class='octowrap'>
<a class='octothorpe' href='#section-6'>#</a>
</div>
<h2>nextH2</h2>
</div>
<div class='code'>
<div class="highlight"><pre><span class="n">blah</span></pre></div>
</div>
</div>
<div class='clearall'></div>
に変換します。
great-grandparent <div class='section' id='section-18'>
grandparent <div class='docs'>
parent <div class='octowrap'>
* <a class='octothorpe' href='#section-18'>#</a>
h2 <h2> </h2>
js:
$(function(){ |
$('.octothorpe').on({ |- vimwiki_docs.py (/home/solver/webpag1)
click:function(e){ |
e.preventDefault(); |- vimwiki_docs.html (/home/solver/webpag1/docs)
var $pfold = $(this).closest('.octowrap').siblings('p'); |
var $cfold = $(this).closest('.docs').siblings('.code'); |- knowl.js (/home/solver/webpag1/docs)
var $sector = $(this).closest('.section'); ||- global
var $h2 = $sector.nextUntil('.section > h2'); ||| knowl_id_counter
//var $h2 = $sector.nextAll('div').each(function(){ ||
// //this within iteration refers to h2 div element ||- function
// if ($(this).is('h2')) { ||| knowl_click_handler
// return false; |
// }}) | ~
| ~
//});//close each() | ~
$pfold.toggleClass('fold'); | ~
$cfold.toggleClass('fold'); | ~
$h2.toggleClass('fold'); | ~
//console.log('h2', $h2) | ~
//if (!$h2.hasClass("fold") && !$pfold.hasClass("fold") && !$cfold.hasClass("fold")) { | ~
// $cfold.slideUp().addClass('fold'); | ~
// $pfold.slideUp().addClass('fold'); | ~
// $h2.slideUp().addClass('fold'); | ~
//} | ~
//else { | ~
// $cfold.slideDown().removeClass('fold'); | ~
// $pfold.slideDown().removeClass('fold'); | ~
// $h2.slideDown().removeClass('fold'); | ~
//} | ~
| ~
}}); | ~
});
私は nextUntil と nextAll をそれぞれ試してみましたが、false を返しました...運が悪い!
どんな助けでも大歓迎です。ありがとう