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

我知道有id属性的div标签在页面中只能出现一次,但没有指定id属性的div标签怎样才能用js知道在页面中出现了多少次?比如说<p></p>这样的没有指定class属性的... 我知道有id属性的div标签在页面中只能出现一次,但没有指定id属性的div标签怎样才能用js知道在页面中出现了多少次? 比如说<p></p>这样的没有指定class属性的,指定了class属性的div标签又该怎样判断在页面中出现的次数? 原生js不用jquery 展开
 我来答
脆皮浮尘
2013-09-17 · 超过18用户采纳过TA的回答
知道答主
回答量:34
采纳率:0%
帮助的人:36.2万
展开全部

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;
}
追问
感谢你的回答。
woshidaniel
推荐于2018-03-29 · TA获得超过9240个赞
知道小有建树答主
回答量:1760
采纳率:96%
帮助的人:955万
展开全部

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

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

语法:

document.getElementsByTagName(tagname)

说明:

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

返回值:

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

举例:

var divArr = document.getLElementsByTagName('div');//获取div标签
var cnt = divArr.length;//获取页面div标签出现的次数
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
西塞山前戏白鹭
推荐于2016-09-13 · TA获得超过141个赞
知道小有建树答主
回答量:165
采纳率:0%
帮助的人:43.1万
展开全部
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);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
嚜嚜叽叽
2013-09-17 · TA获得超过111个赞
知道答主
回答量:55
采纳率:0%
帮助的人:53万
展开全部
var divLen = document.getElementsByTagName("div").length;
console.log(divLen); //即为一个页面中所有div标签的个数
追问
感谢你的回答,第一次发现还有console.log()这个函数可以不在浏览器中显示,在调试工具中显示结果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
零到0的距离
2013-09-17 · TA获得超过253个赞
知道小有建树答主
回答量:370
采纳率:100%
帮助的人:284万
展开全部
<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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式