Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在重新加载页面之前没有CSS样式-cssText不起作用_Javascript_Css - Fatal编程技术网

Javascript 在重新加载页面之前没有CSS样式-cssText不起作用

Javascript 在重新加载页面之前没有CSS样式-cssText不起作用,javascript,css,Javascript,Css,在重新加载页面之前,新生成的列表项不会继承css样式。通过cssText动态添加样式时已添加样式,但它不起作用 尝试了cssText,尝试了内联Jquery if (data.success) { console.log("Data success"); // get the data that was returned. const contents = `${data.chatroom}`

在重新加载页面之前,新生成的列表项不会继承css样式。通过cssText动态添加样式时已添加样式,但它不起作用

尝试了cssText,尝试了内联Jquery

  if (data.success) {
              console.log("Data success");
              // get the data that was returned.
              const contents = `${data.chatroom}`
              // create the dom tree under contacts
              const li = document.createElement('li');
              const div = document.createElement('div');
              const span = document.createElement('span');
              const div0= document.createElement('div')
              const p = document.createElement('p');
              const p0 = document.createElement('p');
              li.classList.add('contact');
              div.classList.add('wrap');
              div0.classList.add('meta');
              p.classList.add('name');
              p0.classList.add('preview');
              // setting innerHTML of new dom tree
              p.innerHTML = contents;
              div0.append(p);
              span.append(div0);
              div.append(span);
              li.append(div);
              var css = {"padding": "15px 0 30px 18px", "display": "block", "cursor": "pointer"};
              li.style.cssText = css;
              document.querySelector('#contacts').appendChild(li);

新生成的列表项应该动态生成填充、显示和游标,但什么都没有发生。

问题是这是一个对象

var css = {"padding": "15px 0 30px 18px", "display": "block", "cursor": "pointer"};
cssText需要一个字符串-请尝试这样做

li.style.cssText = "padding: 15px 0 30px 18px; display: block; cursor:pointer";

欢迎来到堆栈溢出!要更有效地学习并获得更好的帮助,请阅读;试着把问题减少到仍然包含问题的最小示例;例如:

因为数据加载正确,所以保留在问题中会分散注意力 元素的嵌套可能会影响样式设置,尽管首先尝试最简单的情况,但问题仍然存在,只有2个而不是6个嵌套元素 课程没有改变结果,因此问题被删除 在本例中,提供添加到的html元素所需的上下文,以便我们可以运行和测试代码 常量内容=一些文本 const li=document.createElement'li'; const p=document.createElement'p'; p、 innerHTML=内容; li.p; 常量css={背景:红色}; li.style.cssText=css; document.querySelector'contacts'.appendChildli;
似乎是JavaScript问题而不是CSS,请从标记中删除CSS。另外,我不太擅长JavaScript,但我相信问题出在data.success上,如果您告诉我们console.logData success是否被发送到console.cssText不是只读的?谢谢大家,看来我需要拿起一本教科书了。这是下一级的编程魔术,谢谢你们的澄清!我肯定会把我的问题保留在这个格式中,然后我如何添加类似:hover?在哪里可以阅读来获得这些信息?CSS:hover选择器是CSS的一部分,不可能通过Javascript以这种方式内联CSS样式。但是,当鼠标进入/离开元素时,您可以使用onmouseover和onmouseout事件并更改样式。谢谢。哇,这意味着即使您已经在引导中预构建了CSS,新创建的元素也无法在运行时或异步继承样式?这里有太多东西,我希望新元素能够继承。我得到的印象是,您想创建一个没有CSS文件的自包含Javascript,这就是为什么您首先要使用cssText。如果不是这样,那么这是正确的方法。li.style.className=chatRow;并且在CSS文件中有.chatRow{padding:15px 0 30px 18px;display:block;cursor:pointer}和.chatRow:hover{…}。这就是我使用的,但是因为它是通过Ajax的onload内部的Javascript创建的,所以这些CSS属性在页面刷新之前不会应用,我想这就是为什么我必须求助于自包含的JS。