js如何在指定的div内使用getElementsByTagName获取元素

如下面的代码所示:
<div id="gallery">
<img src="pics/0.jpg" border="0" class="picsSliding"/>
<img src="pics/1.jpg" border="0" class="picsSliding"/>
<img src="pics/2.jpg" border="0" class="picsSliding"/>
</div>
<div id="picShow">
<img src="pics/2.jpg" border="0" height="460px" id="picShowing"/>
</div>
我在使用getElementsByTagName(“img”)的时候只想get到gallery里面的那三个元素,不要get到页面的其它img元素,要怎么写?
拒绝使用“先get到所有然后通过数组下标过滤掉最后一个元素”的方法哈,这样我的页面以后但凡哪里增加了个img又要再次过滤相关下标,非常不好。
应该会有朋友说写个getElementsByClassName的函数,除此之外有没有更好的方法,如果没有的话请留下一个队ie和ff等主流浏览器比较通用的该函数吧。谢谢。

在指定的div内使用getElementsByTagName获取元素的主要代码为:

getElementById(div_id).getElementsByTagName(tag_name);

示例如下:

1、HTML结构

<div id="test">
id=test: <span>Glen</span><span>Tane</span><span>John</span><span>Ralph</span>
</div>
<div id="test1">
id=test0: <span>Glen1</span><span>Tane1</span><span>John1</span><span>Ralph1</span>
</div>
<input type='button' value='获取id为test的div下的span' onClick="fun()"/>

2、javascript代码

function fun(){
obj = document.getElementById("test").getElementsByTagName("span");
str= [];
for(i=0;i<obj.length;i++){
str.push(obj[i].innerHTML);
}
alert(str);
}

3、效果演示

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-05-07
document.getElementById('gallery').getElementsByTagName('img');追问

真可以这样么。。。我试过,发现好像失败了。我再试试。

追答<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>test</title>
<!-- <script type="text/javascript" src="../jquery-1.8.0.min.js"></script> -->
<script type="text/javascript">
var get = function ()
    {
    var imgs = document.getElementById ('gallery').getElementsByTagName ('img');
    for ( var i = 0; i < imgs.length; i++)
    {
    alert (imgs[i].src);
    }
    }
    window.onload = function ()
    {
    get ();
    }
</script>
</head>
<body>
<div id="gallery">
<img src="pics/0.jpg" border="0" class="picsSliding" /> <img
src="pics/1.jpg" border="0" class="picsSliding" /> <img
src="pics/2.jpg" border="0" class="picsSliding" />
</div>
<div id="picShow">
<img src="pics/2.jpg" border="0" height="460px" id="picShowing" />
</div>
</body>
</html>

本回答被提问者采纳

js如何在指定的div内使用getElementsByTagName获取元素
在指定的div内使用getElementsByTagName获取元素的主要代码为:getElementById(div_id).getElementsByTagName(tag_name);示例如下:1、HTML结构 <div id="test">id=test: <span>Glen<\/span><span>Tane<\/span><span>John<\/span><span>Ralph<\/span><\/div><div id="test1">id=test0: <span>Gl...

javascript 里面的 getElementsByTagName() 是怎么用的?
tagname是标签名, 例如<a>的tagname是 "a", <div>的tagname是 "div".getElementsByTagName是获取对象中所有tagname为指定值的元素, 返回值为所获得元素组成的数组.例子 (获得所有div元素的innerHTML):<div>div 1<\/div> <div>div 2<\/div> <script type="text\/javascript"> var divs = documen...

JS如何获取某个DIV下的元素
1、创建一个test.html文件。2、在文件内,在div标签内,使用p标签创建一行文字,同时创建一个button按钮,用于触发执行js函数。3、在js标签内,创建函数,在函数内,使用getElementById()方法通过id(mydiv)获是div对象,再使用getElementsByTagName()方法获得div下面的p元素对象,最后,使用alert()方法...

javascript获取元素(javascript中获取元素的方法有哪些)
2、在文件内,在div标签内,使用p标签创建一行文字,同时创建一个button按钮,用于触发执行js函数。3、在js标签内,创建拆基函数,在函数内,使用getElementById()方法通过id(mydiv)获是div对象,再使用getElementsByTagName()方法获得div下面的p元素对象,最后,使用alert()方法输出p元素的内容。js获...

JavaScript 获取元素的8种方法
2. 通过类名获取元素通过getElementsByClassName方法,我们可以获取所有具有指定类名的元素,返回的是类数组形式的集合。在IE6-8中,该方法可能存在问题,例如:console.log(document.getElementsByClassName('div2')[0]); \/\/ 获取第一个类名为'div2'的元素3. 通过标签名获取元素使用getElementsByTagName...

js如何获取div中的数据?
border:1px solid #ccc;"><a href="#">111111<\/a> <\/div><\/body><script>var oDiv = document.getElementsByTagName('div')[0];alert(oDiv.innerHTML); \/\/这样就可以获取div标签里面所有的内容。<\/script>这样alert弹出的框体里面的值是 '<a href="#">111111<\/a> ';...

JS中document获取元素
1. 通过id获取元素:通过元素的id属性可以定位并获取单个元素。例如:document.getElementById("elementId")。2. 通过标签名获取元素:使用标签名可以获取所有该类型标签的元素,返回值是一个数组。例如:document.getElementsByTagName("div")。3. 通过类名获取元素:类名同样可以获取所有拥有该类名的...

js怎么对div中的ul元素进行获取
在is里获取div下的ul标签 首先要找到div的id var oDiv=document.getElementBvld("id"):var oUl=oDiv.getElementsByTagName("ul")[0]:oUl就是ul要获取的标签

给定root节点div,使用DOM的方式找到img
如果我们现在要获取被选中的元素,首先获取改组元素,然后循环判断是节点的checked属性值是否为true即可。(3)document.getElementsByTagName(tagName):该方法是通过节点的Tag获取节点,同样该方法也是返回一个数组,例如:document.getElementsByTagName('A')将会返回页面上所有超链接节点。在获取节点之前,...

如何用js 在div内插入内容
思路:先获取div对象,然后用innerHTML属性设置内容。当div用id属性标识时,可以直接用document.getElementById()获取;当div是用其他属性(如name,class)标识,就需要使用document.getElementsByTagName()获取对象,然后循环判断属性进行筛选。 下面实例演示根据div的class设置div的内容: 1、HTML结构 <div class="test"><\/...

相似回答