如何在不知道其ID的情况下从JavaScript中选择HTML元素?
我的页面上有未知数量的如何在不知道其ID的情况下从JavaScript中选择HTML元素?,javascript,html,select,image,Javascript,Html,Select,Image,我的页面上有未知数量的元素,没有ID,我需要能够浏览它们并根据一些不可预测的因素设置某些属性。如果不知道更多细节,很难回答这个问题,但是您考虑过使用Jquery吗?使用Jquery并按元素类型$(“img”)搜索.each()要对每个元素执行am操作,可以使用getElementsByTagName获取img标记列表: 您可以为图像标记设置名称属性,并可以使用document.getElementsByName执行任何操作 比如说 <script type="text/javascript
元素,没有ID,我需要能够浏览它们并根据一些不可预测的因素设置某些属性。如果不知道更多细节,很难回答这个问题,但是您考虑过使用Jquery吗?使用Jquery并按元素类型$(“img”)搜索.each()要对每个元素执行am操作,可以使用getElementsByTagName获取img标记列表:
您可以为图像标记设置名称属性,并可以使用document.getElementsByName执行任何操作 比如说
<script type="text/javascript">
function getElements()
{
var x=document.getElementsByName("x");
alert(x.length);
}
</script>
<input name="x" type="text" size="20" /><br />
<input name="x" type="text" size="20" />
函数getElements()
{
var x=document.getElementsByName(“x”);
警报(x.length);
}
使用:
var-imgs=document.getElementsByTagName(“img”);
对于(变量i=0;i
您可以使用它们作为数组进行浏览:
document.getElementsByTagName('img');
这是一个img
元素数组,您可以将其视为使用getElementById()
函数(即,您仍然可以对元素执行相同的操作,但需要引用元素):
如果你所说的因素非常复杂,我会使用(它非常强大):
这将为每个具有alt
属性的图像添加10px
填充(我希望如此,因为我以发布几乎正常工作的代码而臭名昭著)
祝你好运 jQuery可能是您最好的选择。否则,您必须遍历dom树并手动检查属性。一旦使用jQuery,您就可以按属性选择元素,如名称、类、标记名(输入、图像等)及其组合
$("image .className").attr(....
每个人都会忘记
这正是我推荐的代码(假设它是一个图书馆不可知网站)。@Giffyguy不,它不是,但是可以通过
getElementsByTagName
(答案更新)
document.getElementsByTagName('img')[0]
$('img[alt]').css('padding', '10px');
$("image .className").attr(....
for(var i = 0; i < document.images.length; i++) {
var img = document.images[i];
if(img.src == "banner.gif") {
img.alt = "Banner";
}
else if(img.alt == "Giraffe") {
img.title = "15 feet tall!";
}
}
var elem = document.getElementById('foo');
var fooImages = elem.getElementsByTagName('img');