JQuery 选择器完美运行,但 Safari 除外

JQuery selector works perfect, except with Safari

提问人:mfaorlkzus 提问时间:2/2/2018 最后编辑:mfaorlkzus 更新时间:2/2/2018 访问量:115

问:

我想从 div 中获取一个 URL 属性,我的代码可以完美地找到,除了在 Safari 上,其中以下行:

var url = $('.image').css('background-image').split('url("')[1].split('")')[0];

引发 Error,因为无法在未定义的对象上执行 .split-function。有人可以解释为什么 Safari 不喜欢这段代码吗?

javascript jquery safari 未定义 undefined-reference

评论

0赞 mfaorlkzus 2/2/2018
background-image 的值是指向 s3 文件的链接,如下所示:url(“...链接属性...“)。所以,我必须去掉url(“”)部分^^
0赞 Scott Marcus 2/2/2018
请展示一个完整的例子。div
0赞 mfaorlkzus 2/2/2018
<div class="image" style="background-image: url("....")"></div>
0赞 Scott Marcus 2/2/2018
好吧,如果你真的按照你展示的方式引用它,那么嵌套双引号就有问题了。需要用单引号括起来。url
0赞 mfaorlkzus 2/2/2018
好吧,很抱歉造成混淆,我在这里添加这个是为了展示 div 的工作原理。该链接是在 JQuery 代码中设置的,我在那里使用单引号$('.image').css('background-image', 'url(' + data.link + ')');

答:

2赞 mfaorlkzus 2/2/2018 #1

所以,我想通了。当您调用非 Safari 浏览器时,您会收到以下字符串:$('.image').css('background-color')

url("http://www.image.com/image1.jpg")

使用 Safari 调用时,将返回以下字符串:$('.image').css('background-color')

url(http://www.image.com/image1.jpg)

评论

0赞 amura.cxg 2/2/2018
在你找到答案之前,我正在研究这个示例解决方案,认为它可能仍然有帮助