JavaScript变量不会被解释为模板文本
在我的JavaScript中,如果HTML中没有JavaScript变量不会被解释为模板文本,javascript,variables,dom,string-literals,appendchild,Javascript,Variables,Dom,String Literals,Appendchild,在我的JavaScript中,如果HTML中没有style标记,我想用我声明的innerHTMLs将其附加到head标记上,在我的情况下,HTML中从一开始就没有样式标记,因此它被附加到head标记上 问题是:我已经将.fadeSlider放入\u sliderBox变量中,我希望${\u sliderBox}被解释为.fadeSlider放入模板文本中,newStyleTag的innerHTML插入head标记中,但是它被解释为HTML对象,而不是.fadeSlier,如何解决此问题 附言:如
style
标记,我想用我声明的innerHTML
s将其附加到head
标记上,在我的情况下,HTML中从一开始就没有样式标记,因此它被附加到head
标记上
问题是:我已经将.fadeSlider
放入\u sliderBox
变量中,我希望${\u sliderBox}
被解释为.fadeSlider
放入模板文本中,newStyleTag
的innerHTML
插入head
标记中,但是它被解释为HTML对象,而不是.fadeSlier
,如何解决此问题
附言:如果你在stackoverflow中运行代码,就会出现else
情况,我不知道为什么,如果你在文本编辑器中运行它,那么else
情况就不会发生,我想这是预料之中的
let _sliderBox=document.getElementsByClassName('fadeSlider')[0];
document.addEventListener('DOMContentLoaded',函数(事件){
设img=新图像();
img.src=https://via.placeholder.com/150';
_滑动框。附加子对象(img);
if(document.getElementsByTagName('style')。长度==0){
console.log(_sliderBox)
_sliderBox=document.getElementsByCassName('fadeSlider')[0];
让newStyleTag=document.createElement('style');
newStyleTag.innerHTML=`
${u sliderBox}{
宽度:700px;
高度:400px;
位置:相对位置;
保证金:自动;
盒影:2×2×10px灰色;
}
${u sliderBox}img{
位置:绝对位置;
宽度:100%;
身高:100%;
排名:0;
左:0;
}
`
document.getElementsByTagName('head')[0].appendChild(newStyleTag);
}否则{
console.log('具有样式标记…')
}
});代码>
\u sliderBox
是一个元素。@adiga那么我应该如何引用它应该被解释为什么,.fadeSlider
?\u sliderBox.className
。必须在类的${}
前面添加一个
selector@adiga非常感谢。