javascript - 如何从 url ("http://www.example.com"中提取 URL?

标签 javascript jquery

我需要使用 jQuery 获取元素背景图像的 URL:

var foo = $('#id').css('background-image');

这会产生类似 url("http://www.example.com/image.gif") 的结果。我怎样才能从中得到“http://www.example.com/image.gif”部分? typeof foo 说它是一个字符串,但是 url() 部分让我认为 JavaScript 和/或 jQuery 有一个特殊的 URL 类型,我应该能够获得使用 foo.toString() 定位。但这不起作用。

最佳答案

请注意,不同的浏览器实现可能会以不同的格式返回字符串。例如,一个浏览器可能返回双引号,而另一浏览器可能返回不带引号的值。这使得解析变得很困难,尤其是当您认为引号作为 URL 字符有效时。

我想说最好的方法是一个好的旧检查和slice():

var imageUrlString = $('#id').css('background-image'),
    quote = imageUrlString.charAt(4),
    result;

if (quote == "'" || quote == '"')
    result = imageUrlString.slice(5, -2);
else
    result = imageUrlString.slice(4, -1);

假设浏览器返回一个有效的字符串,这不会失败。即使返回空字符串(即没有背景图像),结果也是空字符串。

关于javascript - 如何从 url ("http://www.example.com"中提取 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4065436/

相关文章:

javascript - 如何从 javascript/jQuery 中的整数字符串中获取 int[]?

javascript - 对 jstree 上的特定元素进行排序

javascript - 自定义 slider (切换 slider )无法使用 jquery

javascript - 从 Bing Maps API 中的 URL 添加 PolygonOptions 到 GeoJSON

javascript - 输入按钮 onclick 事件未触发

javascript - 为与 javascript 的链接做通用脚本

javascript - js中如何传递变量?

javascript - jPlayer + Bootstrap Modal - DOM 问题

javascript - 根据 url 中的哈希值显示元素

javascript - 我怎样才能制作一个比窗口大(高度)的 div,固定但仍然可以滚动而没有任何侧边栏?