js(不用jquery)怎样判断一个div标签在页面中出现了多少次?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js(不用jquery)怎样判断一个div标签在页面中出现了多少次?相关的知识,希望对你有一定的参考价值。

我知道有id属性的div标签在页面中只能出现一次,但没有指定id属性的div标签怎样才能用js知道在页面中出现了多少次? 比如说<p></p>这样的没有指定class属性的,指定了class属性的div标签又该怎样判断在页面中出现的次数? 原生js不用jquery

1. 获得指定id的元素:

document.getElementById("指定的id值");

2. 根据指定的name属性获得元素:

document.getElementsByName("设定的name属性的值");

3. 获得指定标签名的所有元素:

document.getElementsByTagName("指定的标签名");

4. 自定义方法,根据给出的class属性的值查找所有具有同值的元素:

/**
* 查询所有含有指定class值的标签。
* @param className 指定的class名字,type:String。
* @param parent 父节点,不填则默认从body标签开始找,type:HTTPDocument。
* return 返回查找到的所有元素,type:Array
*/
function getElementsByClassName(className, parent)
    parent = (parent == undefined ? document.body : parent);
    var childrenList = parent.children;
    var i = 0, len = childrenList.length;
    var list = [];
    while( i < len )
        var nowNode = childrenList[i];
        var classNames = nowNode.className.split(" ");
        var j = 0, lenj = classNames.length;
        while( j < lenj )
            if(nowNode.className === classNames[j])
                list.push(nowNode);
                break;
            
            j++;
        
        var cList = [];
        if( nowNode.children.length > 0 )
            cList = getElementsByClassName(className, nowNode);
        
        list = list.concat(cList);
        i++;
    
    return list;

追问

感谢你的回答。

参考技术A

根据getElementsByTagName获取div标签的个数。

getElementsByTagName() 方法可返回带有指定标签名的对象的集合。

语法:

document.getElementsByTagName(tagname)

说明:

getElementsByTagName() 方法返回元素的顺序是它们在文档中的顺序。

返回值:

数组格式,数组元素是标签对象

举例:

var divArr = document.getLElementsByTagName('div');//获取div标签
var cnt = divArr.length;//获取页面div标签出现的次数

参考技术B 1.document.getElementsByTagName("p").length;

2. function getDivByClass(className, parents)
parents = parents || document;
if (parents.getElementsByClassName)
return parents.getElementsByClassName(className);
;
var nodes = parents.getElementsByTagName("div");
ret = [];
for (i = 0; i < nodes.length; i++)
if (this.hasClass(nodes[i], className))
ret.push(nodes[i]);
;
return ret;


var divArray = getByClass("className",document.body);
alert(divArray.length);本回答被提问者采纳
参考技术C var divLen = document.getElementsByTagName("div").length;
console.log(divLen); //即为一个页面中所有div标签的个数追问

感谢你的回答,第一次发现还有console.log()这个函数可以不在浏览器中显示,在调试工具中显示结果。

参考技术D <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="js/jquery-1.7.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function ()
var a = $(".aa");
//输出所有class=aa的id
for (var i = 0; i < a.length; i++)
alert(a[i].id);

);
</script>
</head>
<body>
<form runat="server">

<div class="aa" id="a1">1</div>
<div class="aa" id="a2">2</div>
<div class="aa" id="a3">3</div>
<div class="aa" id="a4">4</div>
</form>
</body>
</html>追问

问题中说了两遍不用jquery的了,是原生js,你还是用了jquery

js或者jQuery怎样得到指定div下的指定a标签

参考技术A

1、首先需要引入jquery脚本文件。

2、然后添加一些简单的html,这里主要的就是在一个div里添加了二个a链接,div和a链接就各自有id属性。还有一个操作的按钮,加上了onclick事件的。

3、然后需要添加对应的点击事件函数。

4、在函数中,先利用jquery的选择器方法来获取到a链接,$("#my_div a")这个代码就是指在id为my_div下的所有a链接。

5、获取到链接后,就用一个for循环来得到div里所有链接的id,主要是通过jquery的attr方法来得到每个链接控件的id属性。得到后,将其保存进数组里。

6、然后通过alert方法来弹出显示所有链接的id。

7、运行页面,可以看到现在有二个链接,点击一下按钮。

8、点击后,会弹出一个alert窗口,这里显示出了二个链接的id属性,对比代码里的值,获取的结果是正确的。

以上是关于js(不用jquery)怎样判断一个div标签在页面中出现了多少次?的主要内容,如果未能解决你的问题,请参考以下文章

JS或者jquery做 一个div不随滚动条上下移动改变位置的效果,就是div始终保持在浏览器的一个位置,不用css

怎样判断jQuery 元素是不是显示与隐藏

怎样用jquery控制div的显示与隐藏

jquery怎样判断div中的内容是不是充满整个div

前端使用JS和JQuery显示隐藏标签

js 怎样使div无法响应点击事件