getAttribute()方法的第二个参数

对于一个img元素,我们想获取它的src属性时可以有两种方式:

1、xxx.getAttribute("src")

2、直接通过xxx.src获取属性值

在src的属性值为相对路径时,这两者的结果在不同浏览器会有一些不同哦。

以此为例:

var img=document.getElementById(‘logo‘);
alert("src:"+img.src);
//  iE7-:  src:http://localhost/test/images/logo.png
//  iE8+ Chrome Firefox:  src:http://localhost/test/images/logo.png

alert("getAttribute:"+img.getAttribute("src"));
//  iE7-:  src:http://localhost/test/images/logo.png
//  iE8+ Chrome Firefox:getAttribute:images/logo.png

那么如何让IE低版本的getAttribute("src")方法也返回相对路径呢,这里就要用到IE特有的getAttribute方法的第二个参数:

img.getAttribute("src",2)

除了img的src属性外,a标签的href属性也存在此问题,同样设置第二个参数为2即可。

我们看下微软对第二个参数的解释:http://technet.microsoft.com/zh-cn/library/aa752280

0:默认值。搜索属性时大小写不敏感

1:搜索属性时大小写敏感,大小和小写字母必须完全匹配。

2:返回BSTR形式的属性值?此标识对事件属性无效。(不知道第一句的具体意义,但是设置属性为2可以用来返回原始值)

4:返回完整路径URL地址。只对URL属性有效。(参数为4的情况,我还没有找到使用它的场景。。。)

时间: 2024-11-03 21:54:35

getAttribute()方法的第二个参数的相关文章

jQuery()方法的第二个参数

关于jQuery()方法的第二个参数,有下面这几种用法: 1.jQuery(selector, [context]) 这种用法,相当于 $(context).find(selector) 或者 context.find(selector) 2.jQuery(html, [ownerDocument]) 文档对ownerDocument的解释是:“创建DOM元素所在的文档” 也就是说,如果你要编写挎document的脚本,比如iframe或者用window.open开一个新窗口,可能会用得着它 3

TP关于create方法的第二个参数

TP create方法第二个参数,指定创建数据的操作状态:默认情况下是自动判断是写入还是更新操作: 也可以显式指定操作状态,例如: $Member = M("User"); // 指定更新数据操作状态 $Member->create($_POST,Model::MODEL_UPDATE); 系统内置的数据操作包括Model::MODEL_INSERT(或者1)和Model::MODEL_UPDATE(或者2),当没有指定的时候,系统根据数据源是否包含主键数据来自动判断,如果存在主

JavaScript中replace()方法的第二个参数解析

语法 string.replace(searchvalue,newvalue) 参数值 searchvalue 必须.规定子字符串或要替换的模式的 RegExp 对象.请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象. newvalue 必需.一个字符串值.规定了替换文本或生成替换文本的函数. 返回值 String 一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的. 第一个参数searchv

Promise中的then第二个参数和catch有什么区别?

Promise中的then第二个参数和catch有什么区别? 首页我们先要区分几个概念,第一,reject是用来抛出异常的,catch是用来处理异常的: 第二:reject是Promise的方法,而then和catch是Promise实例的方法(Promise.prototype.then 和 Promise.prototype.catch). 1. 区别 主要区别就是,如果在then的第一个函数里抛出了异常,后面的catch能捕获到,而then的第二个函数捕获不到. catch只是一个语法糖而

[ jquery 过滤器 nextUntil([exp|ele][,fil]) ] 此方法用于在选择器的基础之上搜索被选元素的后面的所有同级元素,方法返回 selector 与 stop 之间的每个元素之后的所有同级元素,并且提供第二个参数来用于实现过滤效果,多个参数使用逗号相隔

此方法用于在选择器的基础之上搜索被选元素的后面的所有同级元素,方法返回 selector 与 stop 之间的每个元素之后的所有同级元素,并且提供第二个参数来用于实现过滤效果,多个参数使用逗号相隔,参数解释如下: 概述: 查找当前元素之后所有的同辈元素,直到遇到匹配的那个元素为止. 如果提供的jQuery代表了一组DOM元素,.nextUntil()方法也能让我们找遍所有元素所在的DOM树,直到遇到了一个跟提供的参数匹配的元素的时候才会停下来.这个新jQuery对象里包含了下面所有找到的同辈元素

关于字符串replace方法第二个参数为函数的用法

比如把"<>"换成转义符 function escapeHtml(str){ return str.replace("/[<>]/g",function(word,idx){ //注:第一个参数为匹配的字符串,第二个参数为匹配到的索引标 switch(word){ case "<": return "<" case ">": return ">&qu

ionic4 sqlite 的 executeSql 方法第二个参数不传会报错

这是ionic4官方文档,https://ionicframework.com/docs/native/sqlite 其中有一句: db.executeSql('create table danceMoves(name VARCHAR(32))', []) 我在VSCODE中开发时看到提示上写的是第二个参数是可选参数.所以我就没写那个[],结果执行时报错.所以看来这个参数并不是可选参数. 原文地址:https://www.cnblogs.com/johnjackson/p/12612277.ht

js中的getAttribute方法使用示例

getAttribute()方法是一个函数.它只有一个参数——你打算查询的属性的名字,下面为大家介绍下其具体的使用 getAttribute()方法 至此,我们已经向大家介绍了两种检索特定元素节点的办法:一种是使用getElementById()方法,另一种是使用getElementsByTagName()方法.在找到那个元素后,我们就可以利用getAttribute()方法把它的各种属性的值查询出来. getAttribute()方法是一个函数.它只有一个参数——你打算查询的属性的名字: ob

JS getAttribute方法的使用

getAttribute()方法 至此,我们已经向大家介绍了两种检索特定元素节点的办法:一种是使用getElementById()方法,另一种是使用getElementsByTagName()方法.在找到那个元素后,我们就可以利用getAttribute()方法把它的各种属性的值查询出来. getAttribute()方法是一个函数.它只有一个参数--你打算查询的属性的名字: object.getAttribute(attribute) 不过,getAttribute()方法不能通过docume