1、新建一个HTML文档,指定<input>元素的ID。
2、编写JS脚本,根据ID选择元素。
3、使用val()方法获取被选元素的value值。
4、以d窗形式显示获取的input值。
5、保存文件,在浏览器查看结果。
有一定的JS基础后,就可以进入 dom 环节了,dom使得网页的交互效果得到完美呈现,可以说dom真正打开了网页和用户之间的通道桥梁,日常生活中我们点击鼠标,敲击键盘,甚至于无意间触碰到屏幕(触摸屏),都会或多或少或大或小的得到一些躲藏起来的内容。
打开淘宝,在输入框输入商品时,下拉的推荐商品:
或是当打开某个不想再浏览的网页时,右上角的那个×:
这些大部分都存在DOM的身影。
这里的“DOM”,通常来讲,叫做 DOM 文档对象模型 , 通过 *** 纵DOM,可以随意更改内容,样式,或者增删改查 ,因为网页是在浏览器中显示的,整个浏览器是BOM,所以DOM其实是BOM的一部分,BOM 就是 window对象 ,DOM 就是 document(文档)对象。
如果该元素,是网页的必备元素,而且只能有一个,可以通过document对象直接获取。比如:的src属性:
任由我们怎么去修饰的显示,但它本身的路径属性是独有的,所以我们可以直接获取:
更多的时候,我要需要获取网页中的指定元素,这就需要专门的方法来获取了,这里列举几个方法:
getElementById()方法,根据元素的id属性值来获取指定的元素,因为ID的唯一性,使得该方法需要搭配ID选择器使用,如果网页里ID重复时,它会获取第一个:
getElementsByTagName()方法,根据元素的标签名获取所有该元素,该方法获取的是所有该标签的元素,以伪数组的形式呈现:
getElementsByClassName()方法,根据元素的类选择器名称获取所有该元素,该方法获取的途径是标签的类,也就是class属性,由于拥有该属性的标签可能不只一个,所以该方法获得的也是一个伪数组(还有,可以看方法名,凡是带Elements的大多数都是伪数组):
getElementsByName()方法,根据元素的name属性值获取所有该元素,相同的性质,有name属性的标签也不少:
querySelector()方法,根据选择器的名称返回元素,如果有多个元素,只返回第一个元素,这个方法就比较常用了,而且IE这个啥也不咋适配的浏览器现在几乎不咋能见到了,可以多多考虑用他了该方法是 ES6新增,无论是ID 还是class都可以选,但是和上面区别的是选ID时前面要加#号,选class时前面要加“”:
区别于Elements,这里是个单数,所以只会获取一个,要是想获取多个相同的,就用querySelectorAll()吧!querySelectorAll()看这个ALL就知道它是用来选全部的:
最后这俩方法更实用,可以选取CSS几乎所有选择器,而且querySelectorAll()得到的数组数据后还可以使用数组的方法。
*** 作DOM的样式 ,有多种方式:
通过style属性直接设置
通过className属性设置类选择器
也可以通过classList属性添加多个类选择器
*** 作DOM的内容:
innerText属性,用于获取 和 *** 作 DOM的文本内容。
innerHTML属性,用于获取 和 *** 作 DOM的HTML内容:
createElement()方法,用于创建DOM元素:
appendChild()方法,用于在当前DOM元素中添加子元素:
自删 remove()方法,是元素删除自己:
通过父级删除子级 removeChild()方法,是删除元素里面指定的子元素:
你好!!
jquery通过$("ClassName")来引用符合ClassName的元素~~
举例:
<div class="test"><span class="hello">Hello,Friend</span></div>
通过$("test")可以返回一个jQuery对象,其本质为div元素的封装······
同理,$("hello")返回的是一个封装后的span对象。
可能我之前没有理解你问题的重点,你是想问关于源码层面的实现方式么?
记得以前看过源码,这个地方最后会调用jquery的find()方法。
应该是没有原生js方法来的快,仁者见仁吧··
##1访问/获取节点
documentgetElementById(id); //返回对拥有指定id的第一个对象进行访问
documentgetElementsByName(name);//返回带有指定名称的节点集合 注意拼写:Elements
documentgetElementsByTagName(tagname);//返回带有指定标签名的对象集合 注意拼写:Elements
documentgetElementsByClassName(classname); //返回带有指定class名称的对象集合 注意拼写:Elements
##2创建节点/属性
documentcreateElement(eName);//创建一个节点
documentcreateAttribute(attrName); //对某个节点创建属性
documentcreateTextNode(text); //创建文本节点
##3添加节点
documentinsertBefore(newNode,referenceNode); //在某个节点前插入节点
parentNodeappendChild(newNode);//给某个节点添加子节点
##4复制节点
cloneNode(true | false);//复制某个节点 参数:是否复制原节点的所有属性
##5删除节点
parentNoderemoveChild(node);//删除某个节点的子节点 node是要删除的节点
注意:为了保证兼容性,要判断元素节点的节点类型(nodeType),若nodeType==1,再执行删除 *** 作。通过这个方法,就可以在 IE和 Mozilla 完成正确的 *** 作。
nodeType属性可返回节点的类型最重要的节点类型是:
元素类型节点类型
元素element 1
属性attr 2
文本text 3
注释comments 8
文档document 9
##6修改文本节点
方法作用
appendData(data);将data加到文本节点后面
deleteData(start,length);将从start处删除length个字符
insertData(start,data);在start处插入字符,start的开始值是0;
replaceData(start,length,data);在start处用data替换length个字符
splitData(offset);在offset处分割文本节点
substringData(start,length);从start处提取length个字符
##7属性 *** 作
getAttribute(name)//通过属性名称获取某个节点属性的值
setAttribute(name,value); //修改某个节点属性的值
removeAttribute(name); //删除某个属性
##8查找节点
parentObjfirstChild;//如果节点为已知节点的第一个子节点就可以使用这个方法。此方法可以递归进行使用 parentObjfirstChildfirstChild
parentObjlastChild;//获得一个节点的最后一个节点,与firstChild一样也可以进行递归使用 parentObjlastChildlastChild
parentObjchildNodes; //获得节点的所有子节点,然后通过循环和索引找到目标节点
##9获取相邻的节点
curtNodepreviousSibling; //获取已知节点的相邻的上一个节点
curtNodenextSlbling; // 获取已知节点的下一个节点
##10获取父节点
childNodeparentNode;//得到已知节点的父节点
##11替换节点
replace(newNode,oldNode);
以上就是关于jsp页面获取用户输入,动态改变input标签中value值全部的内容,包括:jsp页面获取用户输入,动态改变input标签中value值、DOM的理解与 *** 作、jquery是如何解决在dom对象中没有getElementsByClassName接口这个问题的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)