有没有办法通过特定背景图像来识别选择器。有没有办法做到这一点?
<ul style="background-image:url(/test/test/shortcutsMenu-test.png);">
我知道这不是正确的方法,但我正在操纵一个网站到同一网站的移动版本。
答案 0 :(得分:9)
您可以使用filter
:
$("ul").filter(function() {
return $(this).css("background-image") === "url(/test/test/shortcutsMenu-test.png)";
});
这将允许您选择在其他位置定义背景图像的ul
元素,而不仅仅是内联。这是一个working example。
如果您不关心这一点,并且背景图片将始终在style
属性中内嵌应用,则可以使用带有style
属性的“attribute contains”选择器
更新(根据评论)
要只搜索部分文件名,您可以使用普通的JavaScript字符串方法,例如indexOf
(因为jQuery css
方法返回一个字符串):
$("ul").filter(function() {
return $(this).css("background-image").indexOf("findThisString") > -1;
});
答案 1 :(得分:1)
答案 2 :(得分:0)
你可能想要属性包含单词选择器:http://api.jquery.com/attribute-contains-word-selector/
$('[style~="/test/test/shortcutsMenu-test.png"]').get();
击> <击> 撞击> 编辑:这是错误的。在这种情况下应使用Attribute Contains选择器,因为它将匹配子字符串而不是以空格分隔的单词:
$('[style*="/test/test/shortcutsMenu-test.png"]').get();