【问题标题】:Duplicate an element?复制一个元素?
【发布时间】:2013-05-04 09:10:19
【问题描述】:

我正在尝试复制页面中的元素。我不知道怎么做,是否可以使用 CSS 或者我需要使用脚本?

我想像这样:

  #yan:before { 
    content: Get The Value Of(AN.element.inPage) !important;
    font-size: 200% !important;
    }

例如: 假设我想获得一个主题的标题。

  #yan:before { 
    content: Get The Value Of(h1.subject) !important;
    font-size: 200% !important;
    }

然后主题标题将在页面中出现 2 次。有可能吗?

现在这是我的正确代码...

// ==UserScript==
// @name        DUPLICATING - CLONE elements
// @namespace   http://userscripts.org/scripts/show/109262
// @description    EXPLAIN ME PLEASE
// @include     http*://*answers.yahoo.com*
// @version     1
// ==/UserScript==


var yan = document.getElementById('yan'),
h1s = document.querySelectorAll('h1.subject');

[].forEach.call(h1s, function(node) {
// insert before
yan.parentNode.insertBefore(node.cloneNode(true), yan);
});

►►►► 但是现在我如何设置相对于“#yan-related”元素的位置? ►►►► 我希望新创建的元素遵循#yan-related。

【问题讨论】:

    标签: css


    【解决方案1】:

    这仅适用于脚本,例如

    var yan = document.getElementById('yan'),
    h1s = document.querySelectorAll('h1.subject');
    
    [].forEach.call(h1s, function(node) {
        // insert before
        yan.parentNode.insertBefore(node.cloneNode(true), yan);
    });
    

    Demo

    【讨论】:

    • @user742625 我不知道#yan-related 是什么。
    【解决方案2】:

    您将不得不使用 jquery。检查clone()

    var a = $("#dashnav").clone
    $("#dashnav").after(a)
    

    【讨论】:

    • 我是新来的,你能写一个例子告诉我在哪里可以插入吗?在 wich 文件中,我使用 GreaseMonkey 和 Stylish。
    • 假设你有一个元素,你想复制并在第一个元素之后插入它。编辑了它的答案。
    【解决方案3】:

    不,CSS 用于布局目的,不能克隆 HTML 元素。为此,您必须使用 JavaScript/jQuery。

    查看.clone()使用方法的相关问题:

    Is it possible to clone html element objects in JavaScript / JQuery?

    【讨论】:

    • 综合考虑,这应该是一条评论。
    猜你喜欢
    • 2010-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-11
    • 2011-05-28
    • 2012-09-27
    • 1970-01-01
    相关资源
    最近更新 更多