我的javascript代码遇到了一个小问题。事实上,它在Firefox中工作但在Chrome中没有,你知道我为什么要面对这个问题吗?
这是我的代码:
$('a').each(function(){
if($(this).css('background-image')=='url("linktothepng.png")'){
$(this).parent().remove();
}
});
感谢您帮助我,祝您有个美好的一天;)
答案 0 :(得分:3)
chrome会将其设为url(linktothepng.png)
(无引号)
浏览器解析css并以自己的方式对其进行格式化,不建议在这些属性上进行文本匹配,只需使用具有该背景的类并与hasClass()
一起检查以防止出现不一致
答案 1 :(得分:1)
css('background-image')
返回的值可以通过不同的浏览器以不同的方式标准化;只要它们是等效的CSS,它们都是有效的。
您可以测试css('background-image').indexOf('linktothepng.png') != -1
哪个可行,假设没有其他图像正在使用linktothepng.png
作为其名称的一部分(这将需要更复杂的测试)。
如果可能的话,你最好只设置一个类来设置背景图像。
if($(this).hasClass('the-class-you-use')
的内容,删除测试并将选择器更改为$('a.the-class-you-use')
。