【问题标题】:jQuery .css() api result is different between chrome and ie11jQuery .css() api 结果在 chrome 和 ie11 之间是不同的
【发布时间】:2023-03-09 12:48:01
【问题描述】:

简单地说....

$("#background").css("background-image")
// Above api produces ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
// "url(http://img.tenasia.hankyung.com/webwp_kr/wp-content/uploads/2014/08/2014081512142367297.jpg)"

IE11

$("#background").css("background-image")
// Above api produces ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
// "url("http://img.tenasia.hankyung.com/webwp_kr/wp-content/uploads/2014/08/2014081512142367297.jpg")"

我正在尝试

使用substring()提取url地址。但是这两种浏览器之间的区别让我很困扰。如何在两个浏览器中获取 url?或者什么是最好的选择?

我也试过这个,但正如预期的那样,它产生了相同的结果。

$("#background")[0].style.backgroundImage

【问题讨论】:

  • 到底是什么问题?
  • http 之前有第二个",并在IE 示例的最后,以防其他人看到它想知道有什么区别
  • @scniro 对,IE 会生成带有引用 URL 的 url() 子句。是这样吗?
  • @Pointy 我想这是问题所在,请 OP 确认
  • 问题出现在substring() 步骤。因为IE在.css()结果的开头和结尾多了两个"

标签: javascript jquery google-chrome internet-explorer


【解决方案1】:
var bgurl= $("#background").css("background-image");
bgurl = bgurl.replace(bgurl.indexOf('url("') != -1 ? 'url("' : 'url(' , '').replace(bgurl.indexOf('url("') != -1 ? '")' : ')' , '');

【讨论】:

    猜你喜欢
    • 2019-11-12
    • 2020-11-03
    • 1970-01-01
    • 1970-01-01
    • 2014-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多