在每個 .content-cont 中,我試圖將 .media-cont 移動到最近的 .middle 之前,但我無法使其作業。我確定這是一個愚蠢的錯誤,但我已經試圖弄清楚,我能做的最好的事情就是在中間的 .middle p 標簽之前插入所有 .media-cont
這是我的代碼...
$('.content-cont').each((i, el) => {
let $p = $(el).find('p');
let mid = Math.floor($p.length / 2);
$p.eq(mid).addClass('middle');
});
$('.content-cont').each(function(i, e) {
$e = $(e);
let img = $('.media-cont');
$e.find(img).insertBefore($(this).closest($('.middle')));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<div class="content-cont">
<div class="media-cont"></div>
<div class="text-cont">
<p>Some text</p>
<p class="middle">Some text</p>
<p>some text</p>
</div>
</div>
<div class="content-cont">
<div class="media-cont"></div>
<div class="text-cont">
<p>Some text</p>
<p class="middle">Some text</p>
<p>some text</p>
</div>
</div>
<div class="content-cont">
<div class="media-cont"></div>
<div class="text-cont">
<p>Some text</p>
<p class="middle">Some text</p>
<p>some text</p>
</div>
</div>
uj5u.com熱心網友回復:
你想多了
我假設我可以洗掉硬編碼的
$('.content-cont').each((i, el) => {
let $p = $(el).find('p');
let mid = Math.floor($p.length / 2);
$p.eq(mid).addClass('middle');
$('.media-cont',el).insertBefore($('.middle',el)); // or use the eq here too
});
.middle { color: red }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<div class="content-cont">
<div class="media-cont">Media</div>
<div class="text-cont">
<p>Some text</p>
<p>Some text</p>
<p>some text</p>
</div>
</div>
<hr/>
<div class="content-cont">
<div class="media-cont">Media</div>
<div class="text-cont">
<p>Some text</p>
<p>Some text</p>
<p>Some text</p>
<p>Some text</p>
<p>some text</p>
</div>
</div>
<hr/>
<div class="content-cont">
<div class="media-cont">Media</div>
<div class="text-cont">
<p>Some text</p>
<p>Some text</p>
<p>some text</p>
<p>Some text</p>
<p>Some text</p>
<p>some text</p>
<p>Some text</p>
<p>Some text</p>
<p>some text</p>
</div>
</div>
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/372155.html
標籤:查询
