不显示定位标记值

  • 本文关键字:定位 显示 html
  • 更新时间 :
  • 英文 :


下面的代码不起作用!!!我的场景:我想得到,如果用户点击B,那么我会抛出带有点击值的弹出窗口。。例如,他点击了一个链接,然后我需要弹出你点击的值"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. getElementsByTagName返回节点列表,而不是元素。元素具有getElementsByClassName方法,而NodeLists没有。您需要在NodeList上循环(它类似于数组),并依次处理它持有的每个元素
  2. getElementsByClassName还返回一个节点列表。元素具有innerHTML属性,而NodeLists没有。再次循环
  3. innerHTML中没有t
  4. innerHTML和下一个语句(alert(h))之间需要一个;

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

  1. 停止使用内部事件属性(onclick和好友)
  2. 开始使用addEventListener
  3. 通过接受传递给事件对象的函数中的参数来捕获事件对象
  4. 检查该对象的target属性

例如:

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);

最新更新