Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jquery合并多个相同的html元素_Jquery - Fatal编程技术网

使用jquery合并多个相同的html元素

使用jquery合并多个相同的html元素,jquery,Jquery,我只想在div中移动文本,使其像: <div class="field-item even"> Job1<p><a href="">Name1</a></p> </div> Job1 等等 我喜欢合并并删除所有.field name字段简短文本team div 需要帮忙吗。。。 谢谢 团队 工作1 工作2 工作3 使用以下方法: $(document).ready(function() { tar

我只想在div中移动文本,使其像:

 <div class="field-item even">
 Job1<p><a href="">Name1</a></p>
 </div>

Job1

等等

我喜欢合并并删除所有.field name字段简短文本team div

需要帮忙吗。。。 谢谢


团队

工作1 工作2 工作3
使用以下方法:

$(document).ready(function() {
    target = $("div.field-name-field-team").find("div.field-item");
    source = $("div.field-name-field-brief-text-team").find("div.field-item");

    for(var i = 0; i < target.length; i++) {
        $(target[i]).html($(source[i]).html() + $(target[i]).html());
    }
});

我相信这达到了您的要求:

$('.field-name-field-brief-text-team .field-item').each(function (i) {
    var to = $('.field-item').eq(i)[0],
        toFirst = to.getElementsByTagName('*')[0],
        from = this,
        txt = document.createTextNode(this.textContent);
    to.insertBefore(txt,toFirst);
}).remove();

以及上面稍微修改的版本,使用另一种方法从jQuery选择器检索DOM节点(使用
get(0)
),并查找
to
节点(
to.firstChild
)的第一个子元素。这些仅仅是替代方案,不一定比以前的方法推荐:

$('.field-name-field-brief-text-team .field-item').each(function (i) {
    var to = $('.field-item').eq(i).get(0),
        toFirst = to.firstChild,
        from = this,
        txt = document.createTextNode(this.textContent);
    to.insertBefore(txt,toFirst);
}).remove();
$('.field-name-field-brief-text-team .field-item').each(function (i) {
    var to = $('.field-item')[i]
        toFirst = to.firstChild,
        txt = document.createTextNode(this.textContent);
    to.insertBefore(txt,toFirst);
}).remove();

经过编辑以提供最快(per)的方法:

$('.field-name-field-brief-text-team .field-item').each(function (i) {
    var to = $('.field-item').eq(i).get(0),
        toFirst = to.firstChild,
        from = this,
        txt = document.createTextNode(this.textContent);
    to.insertBefore(txt,toFirst);
}).remove();
$('.field-name-field-brief-text-team .field-item').each(function (i) {
    var to = $('.field-item')[i]
        toFirst = to.firstChild,
        txt = document.createTextNode(this.textContent);
    to.insertBefore(txt,toFirst);
}).remove();


编辑将请求的内容(在下面的注释中)
添加到文本中:

$('.field-name-field-brief-text-team .field-item').each(function (i) {
    var to = $('.field-item')[i]
    toFirst = to.firstChild,
        txt = document.createTextNode(this.textContent + ': ');
    to.insertBefore(txt, toFirst);
}).remove();

参考资料:

  • jQuery:
  • 纯JavaScript:

您想将第二个
div
合并到第一个吗?非常感谢您的帮助:)非常感谢David;)。。非常感谢您更新了答案,在文本后添加了一个
。再次感谢:)您的精彩。。如果你真的想,我可以把你加入我的facebook吗。虽然我确实保持了Facebook与堆栈溢出的分离。
$('.field-name-field-brief-text-team .field-item').each(function (i) {
    var to = $('.field-item')[i]
    toFirst = to.firstChild,
        txt = document.createTextNode(this.textContent + ': ');
    to.insertBefore(txt, toFirst);
}).remove();