使用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节点中的内容
}
}
}

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

时间: 2024-09-30 06:26:32

使用js获取节点的相关文章

js 获取节点

var chils= s.childNodes; //得到s的全部子节点 var par=s.parentNode; //得到s的父节点 var ns=s.nextSbiling; //获得s的下一个兄弟节点 var ps=s.previousSbiling; //得到s的上一个兄弟节点 var fc=s.firstChild; //获得s的第一个子节点 var lc=s.lastChile; //获得s的最后一个子节点 js 获取节点

原生JS的使用,包括jquery和原生JS获取节点、jquery和原生JS修改属性的比较

一.前言 相比于JS这条直达终点.满是荆棘的小路,jquery无疑是康庄大道了,足够的简洁.易用给了它辉煌的地位.然而,毕竟是绕着道的插件,当小路走着走着变成大路的时候,曾经的大路也就失去了他自身的优势了. 原生JS虽然没有jquery那么的好用.便捷,或者说没有jquery那样让我们使用的如此顺手,甚至是无法舍弃的依赖.可是我们依然不得不扔掉手中这根陪伴我们多年的拐杖,我们不是瘸子,我们不曾腐朽,我们还可以独立前行. 二.正文 1. jquery和原生JS获取节点的比较 //这是HTML代码,

JS获取节点的兄弟,父级,子级元素

先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比. JS的方法会比JQUERY麻烦很多,主要则是因为FF浏览器,FF浏览器会把你的换行也当最DOM元素 <div id="test"> <div></div> <div></div> </div> 原生的JS获取ID为test的元素下的子元素.可以用: var a = docuemnt.getElementById("

js获取节点和编辑的方法

获取: 1.document.getElementById() 靠id获取节点 2.document.getElementsByClassName() 靠类名获取节点集(数组) 3.document.getElementsByTagName() 靠标签名获取节点集(数组) 4.document.createElement() 创建新的节点 5.document.querySelector() 靠CSS选择符获取节点 6.document.querySelectorAll() 靠CSS选择符获取节

JS获取节点方法

1. 通过顶层document节点获取:(1) document.getElementById(elementId):该方法通过节点的ID,可以准确获得需要的元素,是比较简单快捷的方法.如果页面上含有多个相同id的节点,那么只返回第一个节点. 如今,已经出现了如prototype.Mootools等多个JavaScript库,它们提供了更简便的方法:$(id),参数仍然是节点的id.这个方法可以看作是document.getElementById()的另外一种写法,不过$()的功能更为强大,具体

js 获取节点方法

旧版本获取节点1.获取body console.log(document.body); 2.获取img console.log(document.images); 3.获取a标签 console.log(document.links); 4.获取含有name属性的a标签 console.log(document.anchors); 5.获取form标签 console.log(document.forms); 获取节点的方法新版本获取节点的方法:DOM21.通过id获取,可以交给一个变量保存(括

js获取节点的DOM操作

一直感觉DOM节点什么的乱七八糟的不能理解,可能博客也没办法写清楚,只能把知道的一些信息大致写下来慢慢再补充了. HTML DOM类型 Node类型 Javascript中的所有节点类型都继承自Node类型,因此所有节点类型都共享着相同的基本属性和方法. 除IE外其他浏览器都可以访问到这个类型. 每个节点都有一个NodeType属性,用于表明节点的类型,节点类型由在Node类型中定义的下列12个常数值来表示,任何节点类型必居其一. 根据这些常量值可以很容易的判断节点类型. if(someNode

原生态js获取节点的方法

<input value="我是用id来获取值的" type="button" onclick="GetById()"/> <input value="我是用Name来获取值的" type="button" onclick="GetByName()"/> <input value="我是用tagName来获取值的" type="

js:获取节点相关的 nodeName,nodeType,nodeValue

getElementById() getElementsByName() getElementsByTagName() hasChildNodes() nodeName nodeType=1元素节点/2属性节点/3文本节点nodeValue 1 <script type="text/javascript"> 2 //取得input元素的名字 nodeName,类型nodeType值nodeValue; 3 var inputElement=document.getEleme