移除元素取决于它的背景图像
Remove element depending on it's background-image
我试图根据它的背景属性从页面中删除一个元素。喜欢的东西:<>之前如果($ (td) .attr("背景"、"backgroundimageurl")){this.remove ();}之前但这行不通,有什么建议吗?
您还可以使用filter根据您的操作来过滤结果集:
$( 'td' ).filter( function(){
// return true of it matches, thus, keeping it in the object
return $(this).css( 'backgroundImage' ) === 'someUrlOrWhatever';
}).remove();
根据roXon的请求演示:http://jsfiddle.net/danheberden/9rTZj/
但是,最好做一个像
这样的检查。return /someDomain'.com'/path'/to'/whatever/.test( $( this ).css( 'backgroundImage' ) );
中的过滤器函数。不同的浏览器将为css规则返回不同的格式,正如roXon指出的,===
方法在FF中不起作用,因为返回的字符串将是url("路径")而不是url(路径),就像在webkit中一样。因此,只测试url值将是最灵活的。
它不起作用的原因是,在你的代码片段中,"this"是当前上下文(很可能是窗口)。
这可能是你想要的:
$('td').each(function (i, e) {
if (e.style.foo === "bar") {
$(e).remove();
}
});
each遍历所有匹配的元素。I是循环的编号,e是当前元素。因此,我们测试每个元素,然后在找到具有我们想要的样式的元素时采取行动。
更短的例子:
$('td[background="backgroundimageurl"]').remove();
阅读jQuery选择器。它们真的很有用:)
http://api.jquery.com/category/selectors/试试这个。当你做attr("背景","背景")这是试图设置背景attr,而不是寻找元素匹配。
if($("body").find("td").css("background-image") == "backgroundimageurl"){this.detach()};
相关文章:
- 可以在这里为背景图像设置滤镜吗
- 使用 js 将背景图像设置为 HTML
- 如何使用css动画/javascript使具有背景图像的元素出现
- 循环浏览多个身体背景图像
- 背景图像顶部的滚动图像不移动
- 在pdfmake中嵌入背景图像
- 修复选择菜单时的背景图像
- 使用css()设置背景图像;不起作用
- 鼠标悬停时如何居中放大背景图像
- 强制谷歌为javascript背景图像编制索引
- 淡入不带HTML的背景图像
- 具有淡入淡出效果的全背景图像
- 未加载随机背景图像
- 背景图像前显示Javascript警报
- javascript背景图像位置循环
- CSS动画背景图像的过渡越来越暗
- "Ken Burns效应”;悬停背景图像
- 通过ID JavaScript显示随机背景图像
- JavaScript背景图像
- 带有图像和背景图像的ClipTo