Javascript 为什么GetElementsByCassName在getElementById工作时不工作?
第一个代码不起作用Javascript 为什么GetElementsByCassName在getElementById工作时不工作?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,第一个代码不起作用 DN.onkeyup=DN.onkeypress=function(){ var div=document.getElementById(“DN”).value document.document.getElementsByClassName(“选项参数输入”).style.fontSize=div; } #一个{ 高度:100px; 宽度:100px; 背景色:#中交; 边界:无; 利润率:10px; 浮动:左; } gfdgd 试验 GetElementsByCas
DN.onkeyup=DN.onkeypress=function(){
var div=document.getElementById(“DN”).value
document.document.getElementsByClassName(“选项参数输入”).style.fontSize=div;
}
#一个{
高度:100px;
宽度:100px;
背景色:#中交;
边界:无;
利润率:10px;
浮动:左;
}
gfdgd
试验
GetElementsByCassName返回对象数组,即使HTML中只有一个。因此,您没有使用getElementsByClassName(“选项参数输入”)[0]
或任何可能的索引。文档。getElementsByClassName
始终返回属于此类的元素的iterable。如果要操纵某个对象,需要提供该元素的索引。
方法被称为getElement\uuu s\uu ByClassName
。记住这一点
例如:
HTML:
addEventListener()
一起使用。首先用DN
声明。然后
通过this.value
调用DN的值,因为它的函数相同
在元素中ClassName
like
document.getElementsByClassName(“选项参数输入”)[0]
End
使用[0]
。类与多个元素匹配。因此请使用
[0]。匹配第一个fontSize的Dom
您应该用px
var DN=document.getElementById(“DN”);
DN.addEventListener(“键控”,两者都有);
函数二(){
document.getElementsByClassName(“选项参数输入”)[0]。style.fontSize=this.value+'px';
}
#一个{
高度:100px;
宽度:100px;
背景色:#中交;
边界:无;
利润率:10px;
浮动:左;
}
gfdgd
试验
bcz id仅打开,并且类是一个或多个。您执行了document.document
。还返回一个,而不是DOM节点。它实际上不是数组。这是一个类似数组的对象。它不继承数组上的任何函数。prototype
。太棒了!它现在可以与GetElementsByCassName(“选项参数输入”)[0]一起使用。您能告诉我注入新css规则的好方法吗?@Bundyboy是的,可以这样做,但是,如果你打算更改更多的样式属性,我建议添加一个新的CSS类->这将节省大量的命令。如果可以的话,你能给我看看代码示例吗。tnx@Bundyboy是一个使用类而不是内联样式更好的示例。它是getElementById
,而不是您建议的getElementsById
。这甚至没有任何意义,因为id
必须是一个唯一的标识符(因此id)作为per-document。好的,现在你让事情变得更糟getElementsByIdClassName
。检查你的编辑。你能告诉我这也是为一些元素注入新css规则的好方法吗?还是有更好的办法?谢谢,更好的方法是使用javascript为jquery添加类名。纯净的
<div class="my-class>1st div</div>
<div class="my-class>2st div</div>
let myDivs = document.getElementsByClassName("my-class");
myDivs[0].style.fontSize = div;