Javascript获取html元素的几种方法
1.通过id获取html元素
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div id="mydiv" style="border:1px solid red">我是div,我的id是mydiv</div>
<script>
var x=document.getElementById("mydiv").innerHTML;
document.write(x+"(我是通过javascript获取的)");
</script>
</body>
</html>
2.通过class来获取html元素
1)一个类名的情况
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<p style="border:1px solid red" class="aaa">我是p,我的类名是aaa</p>
<span style="border:1px solid red" class="aaa">我是span,我的类名是aaa</span>
<script>
function getByClass(iclass){ //封装函数
var Result=[];//存放结果的数组
var allElement=document.getElementsByTagName("*"); //得到所有元素
// 遍历所有元素,如果和给定的参数匹配,则这个元素被放进Result数组中
for(var i=0;i<allElement.length;i++){
if(allElement[i].className==iclass){
Result.push(allElement[i]);
}
}
return Result; //返回最后结果数组
}
// 通过以下方法来调用
window.onload=function(){
var arr= getByClass("aaa");
// 循环输出显示元素
for(var i=0;i<arr.length;i++){
document.write(arr[i].innerHTML+"(我是javascript获得的)<br>");
}
}
</script>
</body>
</html>
2)两个类名的情况(例如class="aaa bb")
①正则表达式的方法
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<p style="border:1px solid red" class="aaa bb c">我是p,我的类名是aaa bb c</p>
<span style="border:1px solid red" class="bb c">我是span,我的类名是c</span>
<script>
function getByClass(iclass){ //封装函数
var Result=[];//存放结果的数组
var allElement=document.getElementsByTagName("*"); //得到所有元素
// 遍历所有元素,如果和给定的参数匹配,则这个元素被放进Result数组中
// 正则模式
var re=new RegExp("\\b"+iclass+"\\b","g");
for(var i=0;i<allElement.length;i++){
// 字符串search方法判断是否存在匹配
if(allElement[i].className.search(re)!=-1){
Result.push(allElement[i]);
}
}
return Result; //返回最后结果数组
}
// 通过以下方法来调用
window.onload=function(){
var arr= getByClass("bb");
// 循环输出显示元素
for(var i=0;i<arr.length;i++){
document.write(arr[i].innerHTML+"(我是javascript获得的)<br>");
}
}
</script>
</body>
</html>
②类名获取--数组方式
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<p style="border:1px solid red" class="aaa bb c">我是p,我的类名是aaa bb c</p>
<span style="border:1px solid red" class="bb c">我是span,我的类名是bb c</span>
<script>
function getByClass(iclass){ //封装函数
var Result=[];//存放结果的数组
var allElement=document.getElementsByTagName("*"); //得到所有元素
// 遍历所有元素,将元素类名分割为字符串数组,再遍历字符串数组元素,如果与所给参数匹配,则这个元素被放进Result数组中
for(var i=0;i<allElement.length;i++){
var arr=allElement[i].className.split(/\s+/); //字符串分割为数组
for(var j=0;j<arr.length;j++){
if(arr[j]==iclass){
Result.push(allElement[i]);
}
}
}
return Result; //返回最后结果数组
}
// 通过以下方法来调用
window.onload=function(){
var arr= getByClass("bb");
// 循环输出显示元素
for(var i=0;i<arr.length;i++){
document.write(arr[i].innerHTML+"(我是javascript获得的)<br>");
}
}
</script>
</body>
</html>
3.通过标签来获得html元素
Javascript获取html元素的几种方法的更多相关文章
- javascript 获取html元素的三种方法
操作HTML元素 你首先找到该元素. 三种方法来做这件事: 通过id找到HTML元素 通过标签名找到HTML元素 通过类名找到HTML元素 通过id查找HTML元素 在DOM中查找HTML元素的最简单 ...
- JS获取DOM元素的八种方法
JS获取DOM元素的方法(8种) 通过ID获取(getElementById) 通过name属性(getElementsByName) 通过标签名(getElementsByTagName) 通过类名 ...
- JavaScript获取样式值的几种方法学习总结
本人经过整理总结出以下获取样式值的方法,如有错误请各位大佬指正. 有四种方法:style,currentStyle,getComputedStyle,rules 与 cssRules方法. 1. st ...
- Javascript获取value值的三种方法及注意点
JavaScript获取value值,主要有以下三种: 1.用document.getElementById(“id名”).value来获取(例1): 2.通过form表单中的id名或者name名来获 ...
- jQuery -> 获取后代元素的三种方法
假设我们有内容例如以下的html文件,那么怎样选取包括在<p>元素内的<i>元素呢? 邪馬台国の謎と弥生時代 紀元前1000年ごろ.水稲工作の技術をもつ集団が大挙して日本に移住 ...
- JavaScript获取鼠标位置的三种方法
在一些DOM操作中我们经常会跟元素的位置打交道,鼠标交互式一个经常用到的方面,令人失望的是不同的游览器下会有不同的结果甚至是有的游览器下没结果,这篇文章就鼠标点击位置坐标获取做一些简单的总结. 获取鼠 ...
- Jquery取得iframe中元素的几种方法Javascript Jquery获取Iframe的元素、内容或者ID
query取得iframe中元素的几种方法 在iframe子页面获取父页面元素代码如下: $('#objId', parent.document);// 搞定... 在父页面 获取iframe子页面的 ...
- JS获取HTML DOM元素的8种方法
什么是HTML DOM 文档对象模型(Document Object Model),是W3C组织推荐的处理可扩展置标语言的标准编程接口.简单理解就是HTML DOM 是关于如何获取.修改.添加或删除 ...
- javascript 获取iframe元素的方法
javascript 获取iframe元素的方法 第一种: $("#IframeID").contents().find("div"); 第二种: $(win ...
随机推荐
- xml 字符串解析成通用的map
[quote]Stax解析技术:快速高效,根据流的形式解析xml,比dom解析技术更加快,dom解析技术是基于文档结构树的,会把整个dom文件树加载到内存进行解析[/quote] package co ...
- 04-spring框架—— Spring 集成 MyBatis
将 MyBatis与 Spring 进行整合,主要解决的问题就是将 SqlSessionFactory 对象交由 Spring来管理.所以,该整合,只需要将 SqlSessionFactory 的对象 ...
- Codeforces Round #581 (Div. 2) C. Anna, Svyatoslav and Maps (Floyd 算法,最短路)
C. Anna, Svyatoslav and Maps time limit per test2 seconds memory limit per test256 megabytes inputst ...
- 并发编程的锁机制:synchronized和lock
1. 锁的种类 锁的种类有很多,包括:自旋锁.自旋锁的其他种类.阻塞锁.可重入锁.读写锁.互斥锁.悲观锁.乐观锁.公平锁.可重入锁等等,其余就不列出了.我们重点看如下几种:可重入锁.读写锁.可中断锁. ...
- linux学习:【第1篇】之安装vmware+Centos 6.9
vmware+CentOs 6.9的安装步骤 一.安装步骤 linux分区 登录用户名和密码 登录用户名和密码后安装成功 二.远程控制Xshell的安装
- Spring 静态代理和动态代理
现在我们来模拟一下,某位学生去考试. 假设他(小明)正常的考试. 运行结果: 结果: 突然某一天,他睡过头了,来不急去考试,所有他打算叫另一个人(Cheater)去代替他考试. 运行结果 ...
- ubuntu桌面最大化
三行命令搞定Ubuntu 16.04下安装VMware Tools!!!!!!!!! 由于下载的是ubuntu-16.04.3-desktop-amd64,需要安装vmware tools,以往提取的 ...
- 【leetcode】1273. Delete Tree Nodes
题目如下: A tree rooted at node 0 is given as follows: The number of nodes is nodes; The value of the i- ...
- PyCharm控制台输出乱码
IDE Encoding设置为GBK后,在运行程序,中文就显示正常了 据说是因为ide编码不能设置为utf-8,需要设置为gdb,因为这个控制台的代码需要和windows保持一致. 另外还有一个问题就 ...
- C# 父子窗体 传值
子窗体 public event Action<List<DataGridViewRow>> myEvent; myEvent(List); 子窗体调用 父窗体 创建对象 fr ...