不显示锚标记值

时间:2013-09-01 15:37:28

标签: html

以下代码不起作用!!! 我的场景:我想知道,如果用户点击B,那么我将弹出带有点击值的弹出窗口。例如,他点击A链接,然后我需要抛出弹出的值,你点击'A' 约束:我不应该在每个标签中调用函数getcontent ...我应该调用div本身....请帮助我...

提前致谢..: - )

<html>

    <head>
        <title>test</title>
        <script type="text/javascript">
            function GetContent() {
                alert('hi');
                var outerDiv = document.getElementById("myDiv").innerHTML;
                var h = outerDiv.getElementsByTagName("a").getElementsByClassName('anchr').innetHTMLalert(h);
            }
        </script>
    </head>

    <body>
        <div id="myDiv" onclick='GetContent()'><a id="anchr" href="www.google.com">A</a>

<a class="anchr" href="javascript:openAlert();">P</a>
            <a
            class="anchr" href="www.google.com">B</a><a class="anchr" href="www.google.com">Q</a>
        </div>
    </body>

</html>

1 个答案:

答案 0 :(得分:2)

  1. getElementsByTagName返回 NodeList 而不是元素。元素有getElementsByClassName方法,NodeLists没有。{1}}方法。你需要遍历NodeList(它类似于一个数组)并依次处理它所拥有的每个元素。
  2. getElementsByClassName还会返回 NodeList 。元素具有innerHTML属性,而NodeLists则不具有innerHTML属性。再次,循环。
  3. t中没有;
  4. innerHTML与您的下一个语句alert(h)之间需要onclick

  5.   

    我不应该在每个标签中调用函数getcontent。我应该在div中调用

    1. 停止使用内部事件属性(target和朋友)
    2. 开始使用addEventListener
    3. 通过接受您传递的函数中的参数来捕获事件对象
    4. 检查该对象的function getContent(evt) { // Don't start function names with capital letters unless they are Constructor functions var element = evt.target; alert(element.innerHTML); evt.preventDefault(); } div.addEventListener("click", getContent); 属性
    5. 这样:

      {{1}}