【问题标题】:Trying to append to an element using js?尝试使用 js 附加到元素?
【发布时间】:2010-11-13 04:36:28
【问题描述】:

我正在尝试在页面上的所有<object> 中添加 html 的 sn-p。我知道我可以通过标签名称访问元素并且我可以更改元素,但我可以简单地附加到它吗?

另外,我想将它添加到每个标签的内容中,而不是文档的末尾。这些方法中的哪一种会起作用?

【问题讨论】:

    标签: javascript dom innerhtml


    【解决方案1】:

    假设没有库...

    var elementToAppend = document.createElement(tagName); // Your tag name here
    
    // Set attributes and properties on elementToAppend here with
    // elementToAppend.attribute = value (eg elementToAppend.id = "some_id")
    // You can then append child text and elements with DOM methods
    // (createElement or createTextNode with appendChild)
    // or with innerHTML (elementToAppend.innerHTML = "some html string")
    
    var objects = document.getElementsByTagName('object');
    for(var i = 0; i < objects.length; i++) {
        elementToAppend = elementToAppend.cloneNode(true);
        objects[i].appendChild(elementToAppend);
    }
    

    使用innerHTMLouterHTML 作为其他答案的建议可能会导致您嵌入&lt;object&gt; 的任何问题。

    【讨论】:

    • 所以当我设置属性时,我将如何设置我想要添加的内容?喜欢 elementToAppend = 吗?谢谢!
    • +1 示例显示如何使用 appendChild()。也很好,你展示了cloneNode()。我早期的尝试假设您可以多次附加同一个子节点,但结果并不那么成功。
    • @patricksweeney:如果您要附加的内容很复杂,您还必须使用 appendChild 构建它:var elementToAppend = document.createElement('span'); var bold = document.createElement('b'); var text = document.createTextNode('stuff'); bold.appendChild(text); elementToAppend.appendChild(bold);
    【解决方案2】:

    appendChild 是你要找的。​​p>

    【讨论】:

    • 我知道 appendChild,但不会添加到文档的末尾吗?我想将它附加到 . 的每一次出现
    • 不,它附加到您调用该函数的任何元素。
    猜你喜欢
    • 2015-10-11
    • 2017-05-26
    • 2018-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多