Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.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
如何在不知道其ID的情况下从JavaScript中选择HTML元素?_Javascript_Html_Select_Image - Fatal编程技术网

如何在不知道其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');