gpt4 book ai didi

jQuery:检查元素是否具有 CSS 属性

转载 作者:行者123 更新时间:2023-12-03 21:31:18 25 4
gpt4 key购买 nike

有没有办法检查元素的父元素并找到第一个设置了 CSS 背景的元素,然后返回该背景值?

类似于:

var background = $('element').parents().has(css('background'));

更新:这是我现在使用的代码:

jQuery.fn.getBg = function(){
var newBackground = this.parents().filter(function() {
return $(this).css('background-color').length > 0;
}).eq(0).css('background-color');
$(this).css('background-color',newBackground); console.log("new background is: "+newBackground);
};

最佳答案

如果未设置,则获取它将产生一个空字符串。因此

var bg = ('element').parents().filter(function() {
return $(this).css('background').length > 0;
}).eq(0)

编辑

一些研究表明,css('background')总是产生空字符串,或未定义,具体取决于浏览器。 css('background-color') 将正确返回当前元素的颜色;而且每个浏览器的值也不同,所以测试起来很麻烦(例如IE中的transparent,firefox/chrome中的rgba(0,0,0,0) ,两者都是指定透明的准确方法)。

jQuery.fn.getBg = function() {
return $(this).parents().filter(function() {
// only checking for IE and Firefox/Chrome. add values as cross-browser compatibility is required
var color = $(this).css('background-color');
return color != 'transparent' && color != 'rgba(0, 0, 0, 0)';
}).eq(0).css('background-color');
};

关于jQuery:检查元素是否具有 CSS 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2239567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com