需要使用JavaScript基于类名合并相邻的HTML节点

时间:2015-03-17 17:32:18

标签: javascript dom

我正在尝试完成以下任务。

说,如果我

<div id='parent'>
<span class='a'>good</span><span class='a'>morning</span><span class='c'>world</span>
</div>

To,

<div id='parent'>
<span class='a'>goodmorning</span><span class='c'>world</span>
</div>

我想合并具有相同类名的相邻节点。

到目前为止,唯一的想法是遍历每个节点并比较类。但是,我不是这是否是唯一的解决方案。

任何想法或“采用新方法”将会非常有用:)

1 个答案:

答案 0 :(得分:1)

试试这个

类似的问题:How to combine two divs that have the same class - jQuery

$(document).ready(function(){

    var endelement; 
    $.each($('.itemRow'), function(index, value) {
        if (index == 0)
            endelement = $(this);
        else
        {
            $.each($(this).children('.item'), function(i, v){
                endelement.append($(this));
            });
        }
    });

    $('.endProduct').append(endelement[0].outerHTML);
    console.log(endelement);
    console.log(endelement[0].outerHTML)

});

当然,这只能通过硬编码类名来动态获取classNames并安排它们,我们必须使用像LoDash或Underscore这样的库来进行处理。