javascript - 如何获取Div组件onclick事件中的textnode

标签 javascript html dom

我使用 html5 + js 创建了网页。我已经在 div 组件中创建了(通过 HTML DOM)文本节点并将其添加到网页中。单击按钮事件时,我需要该文本节点值作为警报。下面是我的代码。

<script>
var context = document.getElementById('holder');
for(j=0;j<5;j++){
var divs = document.createElement('div');
var lbl= document.createElement('label');
lbl.innerHTML = 'Hi everyone';
divs.appendChild(lbl);
var text = document.createTextNode('welcome to app');
var div = document.createElement('div');
div.appendChild(text);
divs.appendChild(div);
var btn = document.createElement('button');
btn.innerHTML ='gone';
btn.className = 'btn';
btn.id = j;
btn.onclick = function(){
var a = this.parentElement.ChildNode;
alert(a.length);
    for(i=0;i<a.length;i++)
    {
     alert(a.getElementByTagName('div').TextNode);
    }
}
divs.appendChild(btn);
context.appendChild(divs);
}
</script>

<body>
<div id='holder'></div>
</body>

最佳答案

您必须确保使用正确的术语。 ChildNode 无效,childNodes 提供的 NodeList 没有 getElementsByTagName 函数。

我正在提供相关部分的替代品,它具有我认为您想要的行为。

var a = this.parentElement.childNodes;
for(i=0;i<a.length;i++){
    if(a[i].nodeName=="DIV"){
         alert(a[i].childNodes[0].data);
    }
}

http://jsfiddle.net/tJAde/

关于javascript - 如何获取Div组件onclick事件中的textnode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17951340/

相关文章:

javascript - 幻灯片 : CSS3 Transitions not working

javascript - 响应式网页——高度设计

javascript - 动态点击事件问题

javascript 文件看不到另一个文件

javascript - 如何检查 javascript 预加载器的值(value)

javascript - Jquery get() 需要 2 遍?

jQuery 在单选字段上使用多个选择器

javascript - 使用ajax时Django不渲染数据

JavaScript - 预呈现另一个页面

JavaScript 节点列表