javascript - 使用 getElementsByTagName 选择元素

标签 javascript html getelementsbytagname

首先,抱歉英语不好。

嗯,我有3个段落,每个段落都有一些链接,我必须按段落显示链接

这是我的 HTML 和 JS 代码:

<head>
    <script type="text/javascript">
            function pEn(){
        var nump=document.getElementsByTagName("p");
        var nEn=new Array();

        for (var i = 0; i < nump.length; i++) {
        nEn=document.getElementsByTagName("a");
        for (var j = 0; j < nEn.length; j++) {
                alert("Parrafo numero "+(i+1)+": "+nEn[j]);
        };
        };
            }
    </script>
</head>

<body>
    <p>
    <a href="http://www.google.es">First link</a>
    <a href="http://www.stackoverflow.com">Second link</a>
    </p>

    <p>
    <a href="http://www.neoteo.com">Third link</a>
    </p>

    <p>
    <a href="http://fp.edu.gva.es/">Fourth link</a>
    </p>

    <div>
    <button onclick="pEn()">Links by paragraph</button>
    </div>
</body>

我想要得到的是: P1:www.fdsjkfls.com,P1:www.fjkdslfjsklo.com,P2:www.sdklf.com,P3:www.vnsdwo.com

不是这个: P1:www.fdsjkfls.com,P1:www.fjkdslfjsklo.com,P1:www.sdklf.com,P1:www.vnsdwo.com,P2:www.fdsjkfls.com,P2:www.fjkdslfjsklo.com,P2: www.sdklf.com,P2:www.vnsdwo.com,...

有什么建议吗?

最佳答案

选择每个段落中的链接:

for (var i = 0; i < nump.length; i++) {
    nEn=nump[i].getElementsByTagName("a"); // <-- Here use nump[i] instead of document
    for (var j = 0; j < nEn.length; j++) {
            alert("Parrafo numero "+(i+1)+": "+nEn[j]);
    };
};

关于javascript - 使用 getElementsByTagName 选择元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19446158/

相关文章:

javascript - JavaScript 中的模型- View - Controller

html - 如何在 div 中将文本右对齐,以便它的开头因溢出 :hidden? 而被缩减

javascript - 一旦鼠标不再存在 JS 隐藏按钮内容

javascript - 复制/覆盖 javascript 的 console.log 函数

javascript - getElementById + getElementsByTagName 在 javascript 控制台中给出类型错误

javascript - 垂直循环 HTM5 Canvas 中的图像数据

javascript - JS从右到左匹配字符串

javascript - 如果向下滚动则变量加 1,如果向上滚动则变量减 1

c# - 试图用类名填充文本框

java - 将 XML 文件读入 hashmap 并创建新对象