使用js获取节点

HTML代码是这样的

<div>
                <p>
                Owen Perry的作品总有一种怀旧的电影感。这位网页设计师涉足摄影三年。在CIRCA 1983上,Owen展示了他从2011年开始至今的在加拿大以及国外旅行中所拍摄的照片。他的作品就像一张复古的明信片,也像一幅很久以前画在牛皮纸上的画。
                </p>
                <textarea class="text"></textarea>
                <button id="sub" class="but">回复</button>
            </div>



原本觉得点击回复按钮获取<p></p>里面的innerHTML 使用

function onclickBut(){
var But = document.getElementsByClassName("but");
for(var i = 0;l=But.length,i<l;i++){
But[i].onclick = function(){
var node = this.parentNode.previousSbiling.previousSbiling.innerHTML;//获取p节点中的内容
}
}
}

可是我不知道出现了什么问题。

后来又觉得使用

function onclickBut(){
var But = document.getElementsByClassName("but");
for(var i = 0;l=But.length,i<l;i++){
But[i].onclick = function(){
var node = this.parentNode.childNodes.firstChild.innerHTML;//获取p节点中的内容
}
}
}

可是都一样获取不了

后来干脆直接

function onclickBut(){
var But = document.getElementsByClassName("but");
for(var i = 0;l=But.length,i<l;i++){
But[i].onclick = function(){
var node = this.parentNode.getElementsByTagName("p")[0].innerHTML;//获取p节点中的内容
}
}
}


请教大牛们更为简便的方法!!


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。