首页 > 解决方案 > 如何在具有相同ID的标签之后添加wrapAll jquery或php

问题描述

php

<?php foreach ($forlop as $value) : ?>
            <?php 
                $stringTitle = substr($value->getTitle(), 0, 1);
            ?>
            <?php if(is_numeric($stringTitle)){
                echo "<h3 id='other'>0-9</h3>";
            } else{
                echo "<h3 id=".strtolower($stringTitle).">".strtoupper($stringTitle)."</h3>";
            }?>
            <div class="item"><?php echo $value->getId(); ?></div>            
<?php endforeach; ?>
<h3 id="c">C</h3> 
<div class="item">1</div>
<div class="item">2</div>

<h3 id="d">D</h3> 
<div class="item">3</div>
<div class="item">4</div>

<h3 id="e">E</h3>
<div class="item">5</div>


js

$('[id]').each(function (i) {
    $('[id="' + this.id + '"]').slice(1).remove();
});

期望的结果

<h3 id="c">C</h3> 
<div class="items-add">
    <div class="item">1</div>
    <div class="item">2</div>
</div>
<h3 id="d">D</h3>
<div class="items-add"> 
    <div class="item">3</div>
    <div class="item">4</div>
</div>
<h3 id="e">E</h3>
<div class="items-add"> 
    <div class="item">5</div>
</div>

我希望将具有相同首字母缩写的产品组合在一起,我没有有效的解决方案。我想使用 jquery 向在循环中具有类项的标签添加一个包装器标签,有什么方法可以做到这一点吗?或有任何其他治疗让我知道你的想法。谢谢。

标签: javascriptphpjquery

解决方案


你可以像这样在php中解决它:

<?php $oldTitle = ""; ?>
<?php foreach ($forlop as $value) : ?>
            <?php 
                $stringTitle = substr($value->getTitle(), 0, 1);
            ?>
            <?php if($oldTitle !== $stringTitle && $oldTitle !== ""){
                echo "</div>"; // close items add tag
            ?>
            <?php if(is_numeric($stringTitle)){
                echo "<h3 id='other'>0-9</h3>";
            } else{
                echo "<h3 id=".strtolower($stringTitle).">".strtoupper($stringTitle)."</h3>";
            }?>
            <?php if($oldTitle !== $stringTitle){
                echo "<div class='items-add'>";
                $oldTitle = $stringTitle;
            ?>
            <div class="item"><?php echo $value->getId(); ?></div>            
<?php endforeach; ?>

推荐阅读