【问题标题】:Directly put a global object to a HTML element [duplicate]直接将全局对象放入 HTML 元素 [重复]
【发布时间】:2014-08-17 04:34:44
【问题描述】:

这是我的代码:

document._createELement = document.createElement;
document.createElement = function(type, data){
    var x = document._createElement(type);
    x = data;

    return x;
}

我试过这个:

document.body.appendChild(document.createElement("p", {
    innerHTML: "Hi!"
}));

我希望在 HTML 中看到这一点:

<p>Hi!</p>

完成上面document.createElement函数的解决方法是什么?

【问题讨论】:

  • 为什么你期望{innerHTML:"Hi!"}以某种神秘的方式变成&lt;p&gt;Hi!&lt;/p&gt;???
  • 现在,我得到了“嗨!”在data 中,我想将data 放入x 以便x.innerHTML = data.innerHTML 但我必须能够在data 中添加各种属性,例如styleclassNameid,等等
  • 是的,是的,我做到了。这就是我问的原因。首先,您将 HTMLElement 分配给 x,然后在下一行将匿名对象分配给同一 x
  • 只需枚举data的属性并将其分配给x即可。

标签: javascript html function object-literal createelement


【解决方案1】:

如果你只是想创建一个p 元素并附加到正文中,那么就可以了

var p = document.createElement("p");
p.innerHTML = "Hello!";
document.body.appendChild(p);

编辑

误会你的意思了

function createEl(type, data) {
    var el = document.createElement(type);
    for ( var x in data ) {
      el[x] = data[x];
    };
    return el;
}

var p = createEl("p", { innerHTML : "Hi There!" });
document.body.appendChild(p);

JSFiddle

【讨论】:

  • 不,我不是这个意思。问题出在我创建的函数document.createElement 上。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-25
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
  • 2021-11-09
相关资源
最近更新 更多