驱魔家教 发表于 2022-7-18 19:26:41

关于js中document.createElement方法的问题

刚学前端不久,以为自己懂了,实际动手才发现好像啥都不会OTZ,在网上找了一些项目来学习,发现其中有一种写法让我不太能理解,在jsp页面引用的js里直接这样写:document.createElement('<div id='ID' style='一长串样式;'+var+'></div>'),有点记不太清楚了,大致是这样的,IE运行正常,但其他浏览器F12报错这样写是invalid的,我想试着改成var div =document.createElement("div"),然后用div.id="xxx"这种形式来添加其他属性,又不知道该怎么处理原来写法中的那个var,我在项目里找了半天都没找到这个var,想请问下有没有大佬知道这个写法到底是什么意思啊,那个var到底是哪儿来的……

suda_code 发表于 2023-5-16 20:11:54

这个写法是使用了document.createElement方法来动态创建一个HTML元素,并且在元素创建时设置了一些样式和属性。其中var是一个变量,可能是在其他地方定义的,用于设置元素的样式或属性

但是,这种写法在标准的HTML规范中是不被支持的,因为createElement方法只能用来创建一个元素节点,而不能在创建时传入HTML代码。因此,这种写法在其他浏览器上可能会出现错误或不兼容的情况{:10_269:}

你提到的另一种写法,即先创建一个元素节点,然后再设置其属性和样式,是更加符合HTML规范的做法。你可以尝试将原来的写法改成这种方式,然后将之前的var变量的值设置为需要的样式或属性,再通过JavaScript代码来设置元素的属性和样式。例如:
var div = document.createElement('div');
div.id = 'ID';
div.style.cssText = '一长串样式;' + var;
在这个例子中,我们先通过document.createElement方法创建了一个div元素,然后通过设置id属性和style属性来设置元素的ID和样式。其中style.cssText属性可以用来设置元素的CSS样式

希望这能帮助你更好地理解这个问题{:10_256:}
页: [1]
查看完整版本: 关于js中document.createElement方法的问题