Targeting CSS with JavaScript getElementById
Targeting CSS with JavaScript getElementById
真的很简单,我使用getElementById来瞄准我的div standby
并更改其样式。现在,我不能为任何的爱找出如何目标是什么写在我的CSS作为#standby img
,也就是说,img
标签在standby
。我该如何瞄准这一点并用JavaScript改变它的样式?
对于所有浏览器中的纯javascript,它应该是这样的:
var imgs = document.getElementById("standby").getElementsByTagName("img");
在更高级的浏览器中,您可以这样使用:
var imgs = document.querySelectorAll("#standby img");
每一个都返回一个nodeList(类似于DOM元素的数组),然后您可以遍历它。
然后,您可以像这样迭代其中任何一个的结果:
for (var i = 0; i < imgs.length; i++) {
imgs[i].style.width = "300px";
}
如果你知道div中只有一张图片,那么你可以这样做,而不是迭代多个图片:
document.getElementById("standby").getElementsByTagName("img")[0].style.width = "300px";
使用文档。纯javascript解决方案的querySelector:
document.querySelector("#erg img");
然后您可以像使用getElementById获取元素一样更改它的样式。
使用jQuery可以很容易地做到这一点。$('#standby img')
。
所以你已经用getElementById()
得到了standby
元素。
要获得img
元素,您需要使用getElementsByTagName()
var standby = document.getElementById('standby');
var standbyImgs = standby.getElementsByTagName('img');
我想你已经有了第一行,所以你只需要第二行。或者将它们合并为一个
需要注意的是,getElementsByTagName()
返回一个元素数组,而不是像getElementById()
那样返回单个元素。因为很明显,这里可以有多个img
,而给定ID的元素应该只有一个。
相关文章:
- reactjs this.refs vs document.getElementById
- 如何通过adf中的document.getElementById获取inputText字段值
- 无法获取文档.GetElementById工作正常
- document.getElementById(“st”).click();不起作用
- Javascript:Can't使用getElementById获取元素
- 如何使用“;getElementById”;在一个循环中
- Javascript GetElementByID has no value
- document.getElementById并使用id名称
- document.getElementById在js中不起作用
- document.getElementById.style.backgroundImage not working
- 如何从document.getElementById()中获取UniqueID
- 从输入框、Javascript、getElementById获取值
- 什么'这个javascript代码getElementById有问题
- DOMDocument getelementbyid conflict?
- 如何从getelementbyid用javascript编写变量
- inline svg--getElementById在Opera中不起作用
- 在init function()中调用getElementById(“..”),而不是想用它做点什么的函数
- 将global.getelementbyid连接到单个变量中
- 未捕获的类型错误:未定义不是上的函数.GetElementByID
- document.getElementById(..) is null