javascript 是否创建ID为的元素?

jhkqcmku  于 2023-03-16  发布在  Java
关注(0)|答案(9)|浏览(83)

我试图修改这段代码,也给予这个div项一个ID,但是我没有在谷歌上找到任何东西,idName不工作。我读了一些关于 append 的东西,但是对于一个看起来很简单的任务来说,它似乎很复杂,所以有没有替代方法?谢谢:)

g=document.createElement('div'); g.className='tclose'; g.v=0;
o4hqfura

o4hqfura1#

您应该使用.setAttribute()方法:

g = document.createElement('div');
g.setAttribute("id", "Div1");
7eumitmz

7eumitmz2#

您可以使用示例中的g.id = 'desiredId'来设置所创建元素的id。

dddzy1tm

dddzy1tm3#

var g = document.createElement('div');
g.id = 'someId';
4sup72z8

4sup72z84#

您可以使用Element.setAttribute
示例:
g.setAttribute("id","yourId")
g.setAttribute("class","tclose")
为了做得更好,我的函数如下:

function createElement(element, attribute, inner) {
  if (typeof(element) === "undefined") {
    return false;
  }
  if (typeof(inner) === "undefined") {
    inner = "";
  }
  var el = document.createElement(element);
  if (typeof(attribute) === 'object') {
    for (var key in attribute) {
      el.setAttribute(key, attribute[key]);
    }
  }
  if (!Array.isArray(inner)) {
    inner = [inner];
  }
  for (var k = 0; k < inner.length; k++) {
    if (inner[k].tagName) {
      el.appendChild(inner[k]);
    } else {
      el.appendChild(document.createTextNode(inner[k]));
    }
  }
  return el;
}

示例1:

createElement("div");

将返回以下内容:

<div></div>

示例2:

createElement("a",{"href":"http://google.com","style":"color:#FFF;background:#333;"},"google");`

将返回以下内容:

<a href="http://google.com" style="color:#FFF;background:#333;">google</a>

示例3:

var google = createElement("a",{"href":"http://google.com"},"google"),
    youtube = createElement("a",{"href":"http://youtube.com"},"youtube"),
    facebook = createElement("a",{"href":"http://facebook.com"},"facebook"),
    links_conteiner = createElement("div",{"id":"links"},[google,youtube,facebook]);

将返回以下内容:

<div id="links">
    <a href="http://google.com">google</a>
    <a href="http://youtube.com">youtube</a>
    <a href="http://facebook.com">facebook</a>
</div>

您可以创建新元素、设置属性和追加子元素

createElement("tag",{attr:val,attr:val},[element1,"some text",element2,element3,"or some text again :)"]);

属性或子元素没有限制

hm2xizp9

hm2xizp95#

为什么不使用jQuery来实现呢?

var newDiv= $('<div/>', { id: 'foo', class: 'tclose'})
ukqbszuj

ukqbszuj6#

var element = document.createElement('tagname');    

element.className= "classname";
element.id= "id";

你想尝尝这个。

enyaitl3

enyaitl37#

这很简单,只需创建一个带有id新元素:

var myCreatedElement = document.createElement("div");
var myContainer = document.getElementById("container");

//setAttribute() is used to create attributes or change it:
myCreatedElement.setAttribute("id","myId");

//here you add the element you created using appendChild()
myContainer.appendChild(myCreatedElement);

就是这样

ct2axkht

ct2axkht8#

我不知道你是否尝试设置一个ID,以便您可以在CSS样式,但如果是这种情况下,你也可以尝试:

var g = document.createElement('div');    

g.className= "g";

这样就可以命名你的div,这样你就可以定位它。

nwnhqdif

nwnhqdif9#

window.addEventListener('DOMContentLoaded', (event) => {
    var g = document.createElement('div');
    g.setAttribute("id", "google_translate_elementMobile");
    
  document.querySelector('Selector will here').appendChild(g);
});

相关问题