javascript如何得到多个div中的所有a元素

javascript如何得到多个div中的所有a元素,第1张

这一句就是文档中所有的a标签 documentgetElementsByTagName("a");

如果你非要这两个div下a标签的话,可以给这两个div外面套一个父div,加上id最好,这样就可以直接写了,例如

documentgetElementById("patent")documentgetElementsByTagName("a");

这个……这个怎么可以呢?

div是不支持name属性的

也就是说,你给div赋了name属性,如果是程序赋的,那就等于没赋值,如果是手工赋的,那也照样得不到,比如下面的这段代码就证明这一点:

————————————————————————

<html>

<head>

<title>aboutName</title>

<script type="text/javascript">

onload = function(){

documentgetElementById("fdsa")name = 'nn';

alert(documentgetElementsByName("nn")[0]id);

}

</script>

</head>

<body>

<div id="fdsa"></div>

</body>

</html>

————————————————————————

但是,支持name属性的标签却可以取到值(IE也一样取不到,但是如果你的name不是由程序赋值,而是手工:<input id='fdsa' name='nn'></input>这样,IE却可以取到):

——————————————————————

<html>

<head>

<title>aboutName</title>

<script type="text/javascript">

onload = function(){

documentgetElementById("fdsa")name = 'nn';

alert(documentgetElementsByName("nn")[0]id);

}

</script>

</head>

<body>

<input id="fdsa"></input>

</body>

</html>

————————————————————

IE下的测试:

————————————————————————————

<html>

<head>

<title>aboutName</title>

<script type="text/javascript">

onload = function(){

alert(documentgetElementsByName("nn")[0]id);

}

</script>

</head>

<body>

<input id="fdsa" name="nn"></input>

</body>

</html>

————————————————

如果你非要取得集合,如果你要取得的div比较集中,有规律,比如说它是一个div下的子标签,那么可以通过documentgetElementsByTagName的方法来取得。

如果这样的方式不行,你还可以使用getElementsByClassName的方式,但是,我要提醒你的是,getElementsByClassName在低版本的IE浏览器中是不支持的,当然,有的是办法解决,比如下面的这个自定义函数就可以解决这个问题:

function gC(tag,obj){

if(typeof documentgetElementsByClassName !='function'){

return falseGetElemnetByClassName(tag, obj);

}else{

if(obj==null) return documentgetElementsByClassName(tag);

else return objgetElementsByClassName(tag);

}

function falseGetElemnetByClassName(cN,obj){

if(obj==null) var d=document;

else var d=obj;

var e=dgetElementsByTagName('');

var c=new RegExp('\\b'+cN+'\\b');

var r=[];

for(var i=0,l=elength;i<l;i++){

var n=e[i]className;

if(ctest(n)) rpush(e[i]);

}

return r;

}

}

然后你就可以使用gC('className', parentElementObj)来取得这些标签的集合了(第二个参数可以没有)。

办法应该不止这一点,你完全可以根据你的程序流程,来考虑比我告诉你的方案还更高效的办法,当然要看一看你自己的程序最初是如何给这些div赋name或className这样的值的,如果你是手到添加的,那当我没说。

<script>

windowonload = function () {

var myDiv = documentgetElementById("myDiv");

var div_s = myDivgetElementsByTagName("div");

alert(div_slength);

}

</script>

<body>

<div id="myDiv" >

<div>1</div>

<div>2</div>

<div>3</div>

<div>4</div>

<div>5</div>

<div>6</div>

<div>7</div>

<div>8</div>

</div>

</body>

这个javascript 原生中有自带的。documentgetElementsByName();

下面是代码:

<body>

    <div name = "div"></div>

    <div name = "div"></div>

    <div name = "div"></div>

    <div name = "div"></div>

    <div name = "div"></div>

</body>

<script>

    alert(documentgetElementsByName('div')length);   //结果是:5如果想对每个div进行 *** 作,就需要用for循环了。

   var aDiv = documentgetElementsByName('div');

   for(var i=0;i<aDivlength;i++){

       aDiv[i]onclick = function(){

           consolelog('aaa');   //点击每个div都会console出一个'aaa'

       }

   }

</script>

<!DOCTYPE html>

<html>

<head> 

<meta charset="utf-8"> 

</head>

<body>

<div id="Mandari" onclick="myFunction(this)">点击我获取DIV id</div>

<div onclick="modify()">点击我修改DIV Mandari的文本</div>

<script>

function modify()

{

var obj=documentgetElementById("Mandari");

objinnerHTML="Mandari DIV的文本修改了"

}

function myFunction(obj)

{

alert(objid);

}

</script>

</body>

</html>

无论你想取得DIV的ID还是CLASS 最重要的是找到你想取值的DIV对象

要取得DIV对象的方法有很多常用的有2个,一个是根据ID,用

var div=documentgetElementById('youdivid')

另一种就是通过标签名来取得

var div=documentgetElementsByTagName('div')[num]

第2种方法和第一种方法的区别是不用设ID也能取得对象,第一种方法取得的是一个对象,第2种方法取得的是一个由所有DIV标签所组成的数组所以后面要根上DIV的序列比如你想取得网页的第一个DIV就

var div=documentgetElementsByTagName('div')[0]

第2个

var div=documentgetElementsByTagName('div')[1]

以此类推

取得DIV对象以事取ID或CLASS就简单了

var id=divid;

var class=divclassName;

就这么简单

下面有个例子,如果不懂,随时问我

<html>

<head>

<script>

function a(){

var div=documentgetElementById('a');

alert('div的class为:'+divid)

alert('div的id为:'+divclassName)

}

function b(){

var div=documentgetElementsByTagName('div')[0];

alert('div的class为:'+divid)

alert('div的id为:'+divclassName)

}

</script>

<style>

c{width:100px; height:100px; background:#0000CC}

</style>

</head>

<body>

<div id="a" class="c">

这是一个DIV

</div>

点击下面按钮取得ID和CLASS

<input type="button" onClick="a()" value="通过ID取得DIV,从而也得CLASS和ID">

<input type="button" onClick="b()" value="通过DIV标签取得DIV,从而也得CLASS和ID">

</body>

</html>

以上就是关于javascript如何得到多个div中的所有a元素全部的内容,包括:javascript如何得到多个div中的所有a元素、javascript 求DIV的集合问题、JS如何获取某个div下存在多少个子div等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9727371.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存