javascript - 在javascript中获取href和src属性的原始值

标签 javascript html dom

给定一个 HTML 元素,我想使用 Javascript 获取其 src 属性的原始值。

如果 src 值为相对路径,则 element.src 返回绝对路径。

例如:

  1. //ssss.com ==> http(s)://ssss.com

  2. blabla ==> http(s)://ssss.com/path/blabla

我知道可以将 HTML 代码作为字符串获取并对其进行过滤,但这效率不高。

我正在寻找有效且干净的方法来提取 src/href 属性的原始值,给定带有属性的 HTML 元素。

谢谢!

最佳答案

您将对象属性与属性值混淆了。只使用 getAttribute() 有什么问题吗? ?

var element = document.getElementById('test');

console.log( element.href );
console.log( element.getAttribute('href') );
<a href="test.html" id="test">Testy</a>

请注意element.href由浏览器解析,而 getAttribute()返回 DOM 中指定的原始字符串。您也可以类似地使用 getAttribute('src')对于 <img />元素。

为了完整起见,这与 jQuery 中演示的行为相同。大多数开发人员会同义词地使用它们,但它们实际上有细微的不同。

例如:

console.log( $('#test').prop('href') );
console.log( $('#test').attr('href') );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<a href="test.html" id="test">Testy</a>

注意如何 prop()行为方式与 element.href 相同,和attr()getAttribute() 相同.

关于javascript - 在javascript中获取href和src属性的原始值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51896620/

相关文章:

javascript - 如何向网络浏览器发送推送通知?

javascript - Express:如何使用 JSON Web token 保护多个路由

javascript - 调用 .js 文件中包含的 JavaScript 函数

html - 链接到 HTML 纯文本站点地图文件的正确方法是什么?

Python:使用 XML DOM 将子项附加到已创建的 XML 文件的根目录

javascript - 无限 While 循环 mod 3

javascript - 分析该对象的最佳方法是什么

html - 交叉重复红线 css 外部 div

javascript - 将一个函数的变量传递到 document.write - Javascript

javascript - 查找正在更改 DOM 元素的 javascript