以下代码不起作用!!! 我的场景:我想知道,如果用户点击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>
答案 0 :(得分:2)
getElementsByTagName
返回 NodeList 而不是元素。元素有getElementsByClassName
方法,NodeLists没有。{1}}方法。你需要遍历NodeList(它类似于一个数组)并依次处理它所拥有的每个元素。getElementsByClassName
还会返回 NodeList 。元素具有innerHTML
属性,而NodeLists则不具有innerHTML
属性。再次,循环。t
中没有;
innerHTML
与您的下一个语句alert(h)
之间需要onclick
。我不应该在每个标签中调用函数getcontent。我应该在div中调用
target
和朋友)addEventListener
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);
属性这样:
{{1}}