JS获取(id、class、tag、style、attr)兼容所有

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<body>

<a id=‘qwe‘ class=‘asd‘ href=‘http://222sdfad.com‘></a>

<script>

function getClass(tagName, classStr) {     //EG: alert(getClass(‘*‘,‘asd‘)[0]); alert(getClass(‘a‘,‘asd‘)[0]);

if (document.getElementsByClassName) {

return document.getElementsByClassName(classStr)

} else {

var nodes = document.getElementsByTagName(tagName),

ret = []

for (var i = 0; i < nodes.length; i++) {

if (hasClass(nodes[i], classStr)) {

ret.push(nodes[i])

}

}

return ret;

}

function hasClass(tagStr, classStr) {

var arr = tagStr.className.split(/\s+/);

for (var i = 0; i < arr.length; i++) {

if (arr[i] == classStr) {

return true;

}

}

return false;

}

}

***************************

function getId(id) { //EG: alert(getId(‘qwe‘));

return document.getElementById(id);

}

***************************

function getTag(tag, obj) {   //EG: alert(getTag(‘a‘,‘mrt‘)[0]);

return ( obj == ‘‘ ? document: getId(obj)).getElementsByTagName(tag);

}

***************************

function getStyle(obj, attr) {   //EG: alert(getStyle(getId(‘qwe‘),‘margin-left‘));

if (obj.currentStyle) {

return obj.currentStyle[attr];

} else {

return getComputedStyle(obj, false)[attr];

}

}

/*

author:MRT

获取属性值

两种方法   $("a").attr("href");   DOM.getAttribute(‘href‘)

*/

</script>

</body>

</html>

时间: 2024-08-29 23:45:19

JS获取(id、class、tag、style、attr)兼容所有的相关文章

DOM操作 、js获取id的内容 和修改原来的内容(innerHTML)

js获取id的内容(getElementById) 和修改原来的内容(innerHTML) 1.通过ID获取元素 学过HTML/CSS样式,都知道,网页由标签将信息组织起来,而标签的id属性值是唯一的,就像是每人有一个身份证号一样,只要通过身份证号就可以找到相对应的人.那么在网页中,我们通过id先找到标签,然后进行操作. 语法: document.getElementById(“id”)   看看下面代码: 结果:null或[object HTMLParagraphElement] 注:获取的元

js获取浏览器信息及版本(兼容IE)

获取浏览器信息方法有很多种,但是要是兼容ie旧版本就有点麻烦了,因为很多方法在旧版本ie是不支持的,所以ie我做了单独处理,但是目前还有小问题,就是想显示QQ浏览器,搜狗浏览器..这样的,这样还实现不了,因为他们用的别人的浏览器内核,没办法 代码: <template> <section class="p-10"> <h1> {{ browse }} </h1> </section> </template> <

现代浏览器原生js获取id号方法

<div id="tests" class="a b c" style="color:#f00">123</div> var test = tests.firstChild.nodeValue; tests = tests.childNodes[0]; tests.insertData(0,789);//从前插入789 var t2 = document.querySelector("#tests");

Js获取当前浏览器支持的transform兼容写法

// 获取当前浏览器支持的transform兼容写法 function getTransfrom() { var transform = '', // document.createElement() 创建元素节点, divStyle = document.createElement('div').style, // 返回的是一组object对象,里面包含了transform // 可能涉及到的几种兼容性写法,通过循环,找出浏览器识别的那个 // 依次为: 全部.Safari 和 Chrome.

js获取/设置任意元素中间内容的兼容方法

一.设置元素中间内容兼容代码 设置任意元素的中间文本内容兼容代码 /** * 设置任意元素的中间文本内容 * @param {*} element 标签元素 * @param {*} text 文本内容 */ function setInnerText(element,text){ if(typeof element.textContent === "undefined"){ element.innerText = text; }else{ element.textContent =

JS获取浏览器高度和宽度值(兼容多浏览器)

IE中: document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 document.documentElement.clientWidth ==> 可见区域宽度 document.documentElement.clientHeight ==> 可见区域高度 FireFox中: document.body.clientWidth ==> BODY对象宽度 document.b

如何用 js 获取table 或者其他块状标签的 宽和高

这个比较简单,总体思想,标签标记一个id,js获取id,就能用它的属性了.介绍两种方法.请看下面代码. 第一种 1 <script> 2 3 function width_table_all() { 4 7 var tabl = document.getElementById("tabl").offsetWidth; 8 alert(tabl); 11 }183 </script> 这个是js的函数,offsetWidth是一个属性.tabl是id,请看下面的t

JS获取CSS属性值

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <ti

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获取鼠标坐标位置兼容多个浏览器

这个看似简单的获取坐标功能,可是已经花费我一天时间了,白天一直搜索js获取坐标,找了很多很多,一一检验,结果出现不兼容.真的够烦躁了,但是事情还是要继续,要完成,回来又继续实践,搜索,反复操作,发现自己好多不会呀,特别是jquery自定义方法(函数),根本就不会,很欠缺基础,心里暗暗下决心,弄完这个好好学习一下js,不然老是卡在这方面.时间虽然已经过去很久了,但我还是没有放弃,想想换个关键词搜索一下,是不是可以找到我想要的.搜索“js获取坐标兼容ie8”,一下子出现后几条,于是挑选一个实践,改造