javascript - 在 DIVS 上实现 colspan

标签 javascript jquery

我有一个这样的div布局
风格

.l-item{
    display:inline-block; 
    border:1px solid #CCC;
    width:20px;
    height:20px
}  


<div id="head">
   <div>
       <div class="l-item">a</div>
       <div class="l-item">a</div>
       <div class="l-item">a</div>
       <div class="l-item">a</div>
       <div class="l-item">b</div>
       <div class="l-item">b</div>
   </div>
   <div>
       <div class="l-item">x</div>
       <div class="l-item">y</div>
       <div class="l-item">z</div>
       <div class="l-item">z</div>
       <div class="l-item">z</div>
       <div class="l-item">x</div>
   </div>
   <div>
       <div class="l-item">1</div>
       <div class="l-item">2</div>
       <div class="l-item">3</div>
       <div class="l-item">4</div>
       <div class="l-item">4</div>
       <div class="l-item">4</div>
   </div>
</div> 

我的要求是将相似值和兄弟 DIVS 合并到单个 DIV 作为 colspan。为此,我有如下方法

$('#head > div').each(function(){
    $(this).find('.l-item').each(function(){
         var txt = $(this).text();
         $(this).siblings().filter(function(){
             return $(this).text() == txt;
         });
    });
});

它似乎会弄乱 DOM,请提供任何其他解决方案..

最佳答案

试试这个:- http://jsfiddle.net/adiioo7/rnL3h/

JS:-

$('#head > div').each(function () {
    $(this).find('.l-item').each(function () {
        var txt = $(this).text();
        var items = $(this).siblings().filter(function () {
            return $(this).text() == txt;
        });
        if (items.length > 0) {
            $(this).width($(this).width() * (items.length + 1));            
            items.remove();
        }

    });
});

关于javascript - 在 DIVS 上实现 colspan,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18371658/

相关文章:

javascript - Angular,发送相同信息时 watch 会触发

javascript - jquery多术语列搜索

javascript - jQuery 的 toggleClass 和 .css 文件中类名的顺序

javascript - 使用javascript在csv文件中保留前导零

javascript - 类似 iPhone 的 jQuery 滚动条

javascript - Kendo Scheduler 更新数据源后刷新

javascript - 修复了 Bootstrap 中的多导航容器?

javascript - 展开表单时,至少选中表单中的一个复选框

javascript - 在 vuejs 中 chop 已处理的 html

javascript - Zapier 编写的代码 - 用整数分割字符串和带有多个分隔符的文本