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元素的几种方法的更多相关文章

  1. javascript 获取html元素的三种方法

    操作HTML元素 你首先找到该元素. 三种方法来做这件事: 通过id找到HTML元素 通过标签名找到HTML元素 通过类名找到HTML元素 通过id查找HTML元素 在DOM中查找HTML元素的最简单 ...

  2. JS获取DOM元素的八种方法

    JS获取DOM元素的方法(8种) 通过ID获取(getElementById) 通过name属性(getElementsByName) 通过标签名(getElementsByTagName) 通过类名 ...

  3. JavaScript获取样式值的几种方法学习总结

    本人经过整理总结出以下获取样式值的方法,如有错误请各位大佬指正. 有四种方法:style,currentStyle,getComputedStyle,rules 与 cssRules方法. 1. st ...

  4. Javascript获取value值的三种方法及注意点

    JavaScript获取value值,主要有以下三种: 1.用document.getElementById(“id名”).value来获取(例1): 2.通过form表单中的id名或者name名来获 ...

  5. jQuery -&gt; 获取后代元素的三种方法

    假设我们有内容例如以下的html文件,那么怎样选取包括在<p>元素内的<i>元素呢? 邪馬台国の謎と弥生時代 紀元前1000年ごろ.水稲工作の技術をもつ集団が大挙して日本に移住 ...

  6. JavaScript获取鼠标位置的三种方法

    在一些DOM操作中我们经常会跟元素的位置打交道,鼠标交互式一个经常用到的方面,令人失望的是不同的游览器下会有不同的结果甚至是有的游览器下没结果,这篇文章就鼠标点击位置坐标获取做一些简单的总结. 获取鼠 ...

  7. Jquery取得iframe中元素的几种方法Javascript Jquery获取Iframe的元素、内容或者ID

    query取得iframe中元素的几种方法 在iframe子页面获取父页面元素代码如下: $('#objId', parent.document);// 搞定... 在父页面 获取iframe子页面的 ...

  8. JS获取HTML DOM元素的8种方法

    什么是HTML DOM 文档对象模型(Document Object Model),是W3C组织推荐的处理可扩展置标语言的标准编程接口.简单理解就是HTML DOM 是关于如何获取.修改.添加或删除 ...

  9. javascript 获取iframe元素的方法

    javascript  获取iframe元素的方法 第一种: $("#IframeID").contents().find("div"); 第二种: $(win ...

随机推荐

  1. mysql 5.5.36 通用二进制安装部署

    1.创建mysql用户 # useradd -r mysql 2.解压二进制包到指定目录下 # tar xf mysql-5.5.36-linux2.6-x86_64.tar.gz -C /usr/l ...

  2. mybaites 入门到精通

    这个mybatis教程也不错:http://limingnihao.iteye.com/blog/781671 MyBatis 目录(?)[-] mybatis实战教程mybatis in actio ...

  3. MFC界面库BCGControlBar v30.1——Grid/Report控件

    亲爱的BCGSoft用户,我们非常高兴地宣布BCGControlBar Professional for MFC和BCGSuite for MFC v30.1正式发布!此版本包含themed find ...

  4. Spring Boot 和 Spring Cloud Feign调用服务及传递参数踩坑记录(转)

    https://blog.csdn.net/uotail/article/details/84673347

  5. (转载)搜索引擎的Query自动纠错技术和架构详解

    from http://www.52nlp.cn/%E8%BE%BE%E8%A7%82%E6%95%B0%E6%8D%AE%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E%E7 ...

  6. nginx命令和配置

    centos 6.8安装的nginx 1.12.2 1.nginx常用的命令 使用nginx命令前,进入到/usr/local/nginx/sbin/目录 1)查看nginx版本 进入到/usr/lo ...

  7. [JZOJ6247]【NOI2019模拟2019.6.27】C【计数】

    Description n<=200000 Solution 比赛时没做出这道题真的太弟弟了 首先我们从小到大插入数i,考虑B中有多少个区间的最大值为i 恰好出现的次数不太好计算,我们考虑计算最 ...

  8. 1209F - Koala and Notebook

    这场比赛没打,看同学fst了,于是来看看. 这道题看似简单,但是没想清楚细节真的不太行.像现在熬到十一点左右,脑子真的不行. 首先显然位数越小越好,因为每一位要比较,不如拆点.此时要拆成两条有向链(开 ...

  9. 轮播图和xadmin后台管理

    一.数据库设计 轮播图 1.安装依赖 pip install Pillow 2.模型类:home/models.py class Banner(models.Model): ""& ...

  10. jQuery_复制操作

    复制操作代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...